不知道为什么我无法获取此数组的值或解码json

时间:2017-08-25 15:09:30

标签: php arrays json

我正在调用一个应返回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']但没有任何结果。

2 个答案:

答案 0 :(得分:1)

您发布的数据是一个php数组,其中数组的第一个元素的值是json字符串。

json_decode($response[0]);

答案 1 :(得分:1)

您正在尝试解码具有编码值的PHP数组。

您应该尝试使用json_decode($jsonArray[0]),以便解码第一个数组键的值,因为这是实际的json字符串。