我对 json 很陌生,我遇到了 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 或其他根据需要获取变量的东西),但我似乎无法进入那里。