我有以下的JSON響應的例子(通常是一個較長的響應):如何通過它的索引來訪問JSON財產
"responseHeader":{
"status":0,
"QTime":2,
"params":{
"indent":"true",
"start":"0",
"q":"hi",
"wt":"json",
"rows":"2"}},
"response":{"numFound":69,"start":0,"docs":[
{
"id":335,
"Page":127,
"dartext":" John Said hi ! ",
"Part":1},
{
"id":17124,
"Page":127,
"Tartext":" Mark said hi ",
"Part":10}]
}}
我只想用字符串類型,取得財產的問題是屬性的名稱是不恆定的,所以我不能使用類似的東西:
$obj =json_decode(file_get_contents($data));
$count = $obj->response->numFound;
for($i=0; $i<count($obj->response->docs); $i++){
echo $obj->response->docs[$i]->dartext;
}
因爲在另一個對象它不是dartext它是Tartext。
如何通過索引訪問第三個屬性而不是名稱?
你先找出其中很重要關鍵在於。即使它存在(使用下面的答案,你可以弄清楚) - 不保證對象鍵將始終以相同的順序...請參閱[this](http://stackoverflow.com/a/5525820/) 3249501)優秀的答案 – GrayedFox