不知道我在做什么错在这里,但我有我的JSON字符串,我试图让值IF语句
即打印出来: 63,52,55
努力通过PHP了解JSON解析
这里是我的代码:
$jayjay = '{"items":{"cID":"63","qty":"2"},"items":{"cID":"52","qty":"1"},"items":{"cID":"55","qty":"1"}}';
echo $jayjay;
$obj = json_decode($jayjay, TRUE);
for($i=0; $i<=count($obj['items']); $i++) {
echo $obj['items'][$i]['cID'];
echo ",";
}
但输出的只是空白,我无法弄清楚,为什么
任何帮助,将不胜感激。
谢谢
通常情况下,这是因为JSON数据中的语法错误。检查'json_last_error'的结果。它可能正在返回'JSON_ERROR_SYNTAX' – 2014-11-25 00:04:12
这似乎不是有效的JSON。这是一个带有重复'items'键的对象,所以我期望输出没有被很好地定义。我认为你期待'items'键的值是一个数组,但事实并非如此。无论如何它都会抛出错误 - 例如http://codepad.viper-7.com/KIFqba *和*没有你的问题的'IF'语句。所以....修复所有这些东西,然后回来:) – Hamish 2014-11-25 00:05:04
用'foreach($ obj ['items'] as&$ item){echo $ item ['cID'],',';}替换循环;} '它应该输出'55,'。 – 2014-11-25 00:06:57