2016-08-01 110 views
-2

得到一個孩子這是我的JSON文件:非法字符串偏移量。無法從JSON多級文件

{ 
"user": { 

    "id": "2.8.388387", 

    "category": "posts", 

    "json_metadata": { 

    "tags": [ 

     "new", 

    ], 

    "image": [ 

     "https://s32.postimg.org/4twcn4yrp/13918652_1345543288792650_1255274463_o.gif" 

    ] 

    } 

} 
} 

和PHP:

$json = json_decode($content, true); 


foreach($json as $i){ 

    $id = $i['id']; 
    $category = $i['category']; 
    $image = $i['json_metadata']['image']; 

    echo $id; 
    echo $category; 
    echo $image; 
} 

回聲的$ id和$類工作得很好。但是,$圖像錯誤: 警告:非法字符串偏移「圖像」

任何想法我錯過了什麼?

+3

嘗試$ i ['json_metadata'] ['image'] [0]; –

+0

沒有。同樣的錯誤。 –

+0

請顯示json字符串的完整結構。 –

回答

0

json_metadata是循環中的數組,所以你只需要從陣列獲取的數據,我們在做的陣列。這很簡單...這將現在工作foreach循環。你也可以在循環中打印json_metadata數組。

$content = '{ 
    "user": { 
     "id": "example glossary", 
     "category": "example glossary", 
     "json_metadata": { 
      "tags": ["new"], 
      "image": [ 
       "https://s32.postimg.org/4twcn4yrp/13918652_1345543288792650_1255274463_o.gif" 
      ] 
     } 
    } 
}'; 
$json = json_decode($content, true); 
foreach ($json as $i) { 
    $id = $i['id']; 
    $category = $i['category']; 
    $image = $i['json_metadata']['image'][0]; 

    echo $id; 
    echo $category; 
    echo $image; 
} 
+0

請在您的答案中添加解釋以幫助未來的訪問者。 –

+0

json_metadata是循環內的數組,因此您只需要像在數組中那樣從數組中獲取數據。這很簡單...這將現在工作foreach循環。你也可以在循環中打印json_metadata數組。 – Jitendra

0

試試這個代碼

$content = '{ 
       "user": { 
        "id": "example glossary", 
        "category": "example glossary", 
        "json_metadata": { 
         "tags": ["new"], 
         "image": [ 
         "https://s32.postimg.org/4twcn4yrp/13918652_1345543288792650_1255274463_o.gif" 
         ] 
        } 
       } 
      }'; 
$json = json_decode($content, true); 
print_r($json['user']['json_metadata']['image'][0]); 

你將得到:

https://s32.postimg.org/4twcn4yrp/13918652_1345543288792650_1255274463_o.gif

相關問題