如何在php中解析自定义json
我有一个json值,如下所示:如何在php中解析自定义json,php,json,Php,Json,我有一个json值,如下所示: { "A":{"id":"1","checked":false}, "B":{"id":"2","checked":true}, "C":{"id":"3","checked":true} } 我只需要id和检查值。我不知道A,B,C中的值是多少 $jsonIterator = new RecursiveIteratorIterator( new RecursiveArrayIterator(js
{
"A":{"id":"1","checked":false},
"B":{"id":"2","checked":true},
"C":{"id":"3","checked":true}
}
我只需要id
和检查值。我不知道A
,B
,C
中的值是多少
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($chboxs, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
foreach ($jsonIterator as $key => $val) {
if(is_array($val)) {
// echo "$key:\n";
} else {
//echo "$key => $val\n";
if($val == true){
$val = 1 ;
}else{
$val = 0 ;
}
$ch = array();
$ch['isvisible'] = $val;
$this->m_general->edit('coupon_properties' , $ch , array('id'=>$key));
}
}
它不好用 只需使用:
因此,这将为您提供:
Array (
A => Array (
id => 1,
checked => false
)
B => ...
)
你可以像这样得到它:
$arr["A"]["id"]; // 1
$arr["B"]["checked"]; // true
因此,要进行迭代,可以使用:
foreach ($arr as $ar) {
echo $ar["id"], $ar["checked"];
}
看看:json\u decode()
+array\u column()
我不知道a、B、C的值是多少。@S.M\u Emamian您想要的输出是什么?echo$id
和echo$value
@S.M_Emamian感谢您的编辑。如果行得通,你能接受我的回答吗?
foreach ($arr as $ar) {
echo $ar["id"], $ar["checked"];
}