[英]Read JSON Data Using PHP
Solr returns response in following JSON format. Solr 以以下 JSON 格式返回响应。
{
"responseHeader":{
"status":0,
"QTime":2,
"params":{
"indent":"on",
"start":"0",
"q":"*:*",
"wt":"json",
"version":"2.2",
"rows":"10"}},
"response":{"numFound":3,"start":0,"docs":[
{
"student_id":"AB1001",
"student_name":[
"John"]
},
{
"student_id":"AB1002",
"student_name":[
"Joe"]
},
{
"student_id":"AB1003",
"student_name":[
"Lorem"]
}]
}}
What will be the simple way to read student_id, student_name using PHP?使用 PHP 读取 student_id、student_name 的简单方法是什么?
Use $obj = json_decode($yourJSONString);
使用
$obj = json_decode($yourJSONString);
to convert it to an object.将其转换为 object。
Then use foreach($obj->response->docs as $doc)
to iterate over the "docs".然后使用
foreach($obj->response->docs as $doc)
迭代“docs”。
You can then access the fields using $doc->student_id
and $doc->student_name[0]
.然后,您可以使用
$doc->student_id
和$doc->student_name[0]
访问这些字段。
PHP has a json_decode function that will allow you to turn a JSON string into an array: PHP 有一个 json_decode function 允许您将 JSON 字符串转换为数组:
$array = json_decode($json_string, true);
$student_id = $array['response']['docs'][0]['student_id'];
...
Of course, you might want to iterate through the list of students instead of accessing index 0.当然,您可能想要遍历学生列表而不是访问索引 0。
$result = json_decode($result, true);
$result['response']['docs'][0]['student_id'] ...
$json_a = json_decode($string, TRUE);
$json_o = json_decode($string);
#array method
foreach($json_a['response']['docs'] as $students)
{
echo $students['student_id']." name is ".$students['student_name'][0];
echo "<br>";
}
#Object Method`enter code here`
foreach($json_o->response->docs as $sthudent_o)
{
echo $sthudent_o->student_id. " name is ".$sthudent_o->student_name[0];
echo "<br>";
}
Why not just use one of the PHP clients for Solr, or the PHP response writer?为什么不将 PHP 客户端之一用于 Solr 或 PHP 响应编写器? See http://wiki.apache.org/solr/SolPHP
见http://wiki.apache.org/solr/SolPHP
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.