从PHP中的数组中获取JSON值

时间:2015-11-17 10:52:43

标签: php json

我有以下JSON

      [
           {
          "part_number": {
             "id": "1",
             "text": "962-00031-17A004"
          },
          "categoria": null,
          "codigo_cti": "",
          "fabricante": null,
          "modelo": null,
          "numero_serie": "",
          "obs": ""
       }
    ]

我使用下面的代码从中收集数据。如果我选择提取obs,它工作正常。我想知道如何从part_number中收集文本和ID。

$produtos = json_decode($_POST['produtos'], true);  

foreach($produtos as $produto){
    echo $produto["obs"]; //WORKS FINE
    echo $produto["part_number"]["text"]; //DOES NOT WORK
}

1 个答案:

答案 0 :(得分:3)

将它变成一个对象而不是数组 - 它更容易,面向对象是最佳选择。

这是一个有效的例子;

$json = '[
       {

      "part_number": {

         "id": "1",

         "text": "962-00031-17A004"

      },

      "categoria": null,

      "codigo_cti": "",

      "fabricante": null,

      "modelo": null,

      "numero_serie": "",

      "obs": ""

   }

]';

$produtos = json_decode($json, false);  


foreach($produtos as $produto){
   echo $produto->part_number->id;
}