Solr renvoie la réponse au format JSON suivant.
{
"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"]
}]
}}
5 Réponses :
$result = json_decode($result, true); $result['response']['docs'][0]['student_id'] ...
Utilisez Puis utilisez Vous pouvez ensuite accéder aux champs à l'aide de $ obj = json_decode ($ yourjsonstring); code> pour le convertir en objet. P>
foreach ($ obj-> réponse-> docs comme $ doc) code> à itérer sur les "docs". p>
$ doc-> étudiant_id code> et $ DOC-> Nom de l'étudiant [0] code>. P>.
php a une fonction JSON_Decode qui vous permettra de tourner une chaîne JSON en une matrice:
$array = json_decode($json_string, true); $student_id = $array['response']['docs'][0]['student_id']; ...
Pourquoi ne pas simplement utiliser l'un des clients PHP pour SOLR ou l'auteur de réponse PHP? Voir http://wiki.apache.org/solr/solphp p>
$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>";
}
Dupliqué possible de Comment lire ce Json en utilisant php?
Votre JSON n'est pas valide. Il y a un
] code> manquant avant le dernier}} code>