获取json字符串元素

时间:2017-06-29 17:22:18

标签: php json

我正在使用占星术API,它发送一个json字符串作为对查询的响应。但我一直试图将其转换为json并从响应字符串中检索不同的项目。以下是回复的示例:

{"ashtakoota":{"status":true,"received_points":26},"manglik":{"status":true,"male_percentage":13.25,"female_percentage":13.75},"rajju_dosha":{"status":false},"vedha_dosha":{"status":false},"conclusion":{"match_report":"Marriage between the prospective bride and groom is highly recommended. The couple would have a long-lasting relationship, which would be filled with happiness and affluence."}}

我正在使用php脚本,所以我尝试了以下代码:

$json = json_decode($res1, true); TRY 1 --> echo array_values($json[1]); TRY 2 --> echo $json.ashtakoota.status; TRY 3 --> echo $res1.ashtakoota.status;

但输出始终为空白。我怀疑$ json是空的还是json响应不是完美的json。

2 个答案:

答案 0 :(得分:1)

PHP使用字符串键作为其数组,这是json_decode(...)返回的内容。因此,您需要以下列方式访问它们:

echo $json['ashtakoota']['status'];

然后应该为您的示例JSON输入输出true

答案 1 :(得分:1)

json_decode上的true参数将导致它返回一个数组,而不是一个对象。您的对象语法也不正确,它不是一个点,而是您需要的->

$json = json_decode($res1);

echo $json->ashtakoota->status;