我對json相當陌生,而且json_decode有問題。我想我知道爲什麼,但我一直無法解決如何解決它。json_decode失敗
基本上,我有一個提供json信息的URL。我用cURL抓住它,並將它作爲一個PHP變量返回,並且工作得很好。我可以打印出所有我想要的信息。但是,當我使用json_decode($ json,true)時,它返回NULL。
我認爲這是因爲,從技術上講,返回的內容不是字符串,而更像是一個對象 - 我無法理清如何獲取該對象的內容。
例如,當我返回的json的東西,一個PHP變量:
print_r($json);
返回的輸出看起來像這樣(我不會這麼做完全是,因爲它是巨大的,所以我會告訴你佈局保持簡單)
MyThing.returnedItems({MyThing.returnedItems({
"projects":[{
"completed":"2010-12-21",
"status":"finished",
"favorited":0,
"started":"2010-12-20",
"percentage":78,
"permalink":"slug to post",
"size":"One size",
"thumbnail":{"src":"full path to full size image",
"medium":"full path to thumbnail"},
"name":"Some title here",
"notes":"description here",
"url":"URL to page",
"comments":0},
所以你可以看到它就像一個嵌套數組。我不介意,但我希望能夠訪問這些數組的所有鍵/值對作爲PHP變量。但似乎由於「MyThing.returnedItems()」圍繞它,它不會將其視爲解碼的字符串,所以我每次都得到一個NULL值。
任何人都知道我在這裏失蹤?一旦我找出如何抓住那裏的東西,我想我已經知道了(簡單的foreach或者不需要根據需要得到剩下的變量),但我似乎無法進入。
它爲什麼圍繞它?它與JSON無效。 – Esailija 2012-07-24 16:49:41
'MyThing.returnedItems({})'不是有效的json。 – PeeHaa 2012-07-24 16:50:33
您錯過了一個引號。 '「的東西:[]'應該是''東西」:[]'。不確定是否解決了整個問題,或者這可能只是一個錯字,而不是代碼中的錯字。 – curtisdf 2012-07-24 16:51:41