我有这个代码的json文件:
{
"data": [
{
"id": 33940157205526204,
"user": {
"id": 548844917,
"full_name": "DelacruzHayden",
"profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/87947328356424110_1657580247886246_102415570_a.jpg",
"username": "Noreen Lang"
},
...
]
}
当我想解析它时:
$data = file_get_contents("/home/lumawu/test.json");
do {
$medias = json_decode(json_encode($data),true);
foreach ($medias['data'] as $media) {
我收到错误:
[ErrorException]
Illegal string offset 'data'
如何解码?
答案 0 :(得分:0)
在您的代码中,您只需要执行json_decode($ data,true)以将json字符串转换为数组。
如果同时执行json_decode(json_encode($ data,true)), json_encode 将对json字符串进行编码,而下一个 json_decode 将无法解码json正确。
所以你的代码应该是这样的:
$data = file_get_contents("/home/lumawu/test.json");
do {
$medias = json_decode($data,true);
foreach ($medias['data'] as $media) {