PHP中的Json解码以及如何读取键值



我有一个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'];

相关内容

  • 没有找到相关文章

最新更新