在php中读取json对象

时间:2016-06-12 23:51:51

标签: php json

我有一些像这样的json对象:

{"g_aaa77":
    {"'title'":"title2",
        "'r_a6cff'":                
            {"name":"name2","price":"2"},
        "'r_7fc7b'":   
            {"name":"name22","price":"22"}
     },
 "g_a36b5":
     {"title":"title1",
         "r_4e122": 
             {"name":"name1","price":"1"},
         "r_155fa":
             {"name":"name11","price":"11"}
     }
}

g_aaa77g_a36b5是随机字符串。

r_a6cffr_7fc7br_4e122r_155fa

我怎么读这个json?

通常就是这样:

$json = { .. };

$json->g_a36b5->title;

但我没有' g_a36b5'。它是一个随机字符串。

也许我必须把这个json转换成另一个或类似的东西。

你可以告诉我怎样才能读到这个json?

1 个答案:

答案 0 :(得分:8)

首先,json_decode你的json。

$array = json_decode($json, true);

现在你需要使用foreach循环,因为你仍然不知道键是什么:

foreach($array AS $key => $subarray) {
    echo $key . ": " . print_r($subarray, true);
}

如果您不关心保留密钥,可以使用array_values删除这些随机字符串。

$array = array_values($array);

现在你仍然可以遍历它,或者只是通过数字键直接寻址数组元素:

print_r($array[0]);
echo $array[1]['title']; // title1

示例:https://3v4l.org/s2it1