【发布时间】:2015-05-21 12:33:48
【问题描述】:
我正在尝试从 API 获取一个 json 对象,它正在返回一个字符串。我试图对其进行 json_decode ,但一切都搞砸了。我无法发布数据,因为它很敏感,但这里有一个类似的示例。
{"status":"ok", "list_i_want":[{param1:"blah",param2:"blah",param3:"blah"},{...}]}
我试图只剪掉第一部分和最后一个 },但它仍然不会解码为 json 对象。它也可能是我的 curl_setopt() 的。
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Accept: application/json'
));
$resp = curl_exec($curl);
curl_close($curl);
DD($resp); // laravel's die and dump
【问题讨论】:
-
我认为您的 API 调用返回的值是一个 javascript 对象,而不是 JSON 字符串。如果是这种情况,您需要使用 JSON.stringiry() 等方法将其转换为 JSON 字符串
-
是的,它是一个 javascript 对象...有人告诉我它应该是一个 JSON 对象。无论如何它都会发送到客户端,所以我只是让 javascript 处理它,它工作得很好哈哈.解决了!!!!