我有一些SendGrid API返回的简单JSON数据:
{
"message":"error",
"errors":[
"some errors"
]
}
我可以访问"消息的内容"部分通过:
$txt = "{\"message\":\"success\"}";
$newtxt = json_decode($txt, true);
echo $newtxt['message'];
这没关系,但我无法解决如何访问"错误"的内容。部?
对不起,我意识到这可能是一个愚蠢的问题。
答案 0 :(得分:2)
如果你的JSON字符串是这个
$tst = '{
"message":"error",
"errors":[
"some errors"
]
}';
然后你需要的就是
$j_array = json_decode($txt, true);
echo $j_array['message'];
echo $j_array['errors'][0];
更好的方法是循环遍历此数组
foreach ($j_array['errors'] as $error ) {
echo $error . '<br>';
}
当然你不需要将所有东西都转换为数组,你可以把它保留为写入,即包含属性的对象,其中一个是数组
$jObj = json_decode($txt);
echo $jObj->message;
echo $jObj->errors[0];
或
foreach ($jObj->errors as $error ) {
echo $error . '<br>';
}