我有一个json $result = json_decode($result);
PHPJSON例:
[
{
"X": "Teste1 X",
"Y": "Teste1 Y",
"Z": "Teste1 Z",
"A": {
"C": "Teste1 C"
},
"B": {
"D": "Teste1 D"
}
}
]
如何读取键值"A"one_answers"B"?
键值"C"e"D"在"A"e"B"?
$result = json_decode($result);
foreach ($result as $key => $value) {
$strx = $value->X;
$stry = $value->Y;
$strz = $value->Z;
if($key == "A") {
$strA = $value->C;
}
if($key == "B") {
$strB = $value->D;
}
$str1 = $value->1;
$str2 = $value->2;
$str3 = $value->3;
}
因为你的JSON被包裹在[]
中,它将被视为一个索引数组,因此你的$key
变量将是值的索引(例如0,1,2等)。
那么为了回答你的问题,要得到A
的值,替换
if($key == "A") {
$strA = $value->C;
}
if($key == "B") {
$strB = $value->D;
if( isset($value->A)) {
$strA = $value->A->C;
}
if(isset($value->B)) {
$strB = $value->B->D;
你想从$value->1
、$value->2
和$value->3
中得到什么?
你好,这是我们可以轻松获得所有值到特定JSON的方式。
<?php
$result = json_decode('{
"X": "Teste1 X",
"Y": "Teste1 Y",
"Z": "Teste1 Z",
"A": {
"C": "Teste1 C"
},
"B": {
"D": "Teste1 D"
}
}');
foreach ($result as $key => $value) {
if($key == "A") {
$strA = $value->C;
echo $strA;
echo "<br/>";
}else if($key == "B") {
$strB = $value->D;
echo $strB;
echo "<br/>";
}else{
echo $value;
echo "<br>";
}
}?>
您可以将true
作为第二个参数传递给json_decode()
,以便获得关联数组格式的结果:
$result = json_decode($result, true);
然后你可以简单地使用数组来获得你想要的值:
$valueA = $result[0]['A'];
$valueCinA = $result[0]['A']['C'];