我正在调用一个应返回JSON数组的API。我收到了这个:
Array
(
[0] => {"msg_id":"0t5OxT1ZP9VcF45L2","_text":"I want to reserve","entities":{"intent":[{"confidence":1,"value":"make_reservation","type":"value"}]}}
)
我知道它是JSON,因为a)文档说我应该得到的东西和b)我跑isJson($response)
并得到true
。
我曾尝试使用json_decode
,但代码在我做的时候就已经死了(它错误地说它期待一个字符串并得到一个有意义的数组,但如果我json_encode
那么我会从我能理解的内容中进一步编码json。
据我了解,我只需要一种遍历此数组并在"value:" key
内获取entities: intent:
的方法。但是,我无法弄清楚如何获得它或我错在哪里。
我尝试过:
$val = $jsonArray[0]['entitites']['intent'][0]['value']
但没有任何结果。
答案 0 :(得分:1)
您发布的数据是一个php数组,其中数组的第一个元素的值是json字符串。
json_decode($response[0]);
答案 1 :(得分:1)
您正在尝试解码具有编码值的PHP数组。
您应该尝试使用json_decode($jsonArray[0])
,以便解码第一个数组键的值,因为这是实际的json字符串。