我正在使用占星术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。
答案 0 :(得分:1)
PHP使用字符串键作为其数组,这是json_decode(...)
返回的内容。因此,您需要以下列方式访问它们:
echo $json['ashtakoota']['status'];
然后应该为您的示例JSON输入输出true
。
答案 1 :(得分:1)
json_decode上的true参数将导致它返回一个数组,而不是一个对象。您的对象语法也不正确,它不是一个点,而是您需要的->
。
$json = json_decode($res1);
echo $json->ashtakoota->status;