在php中通读动态JSON

在php中通读动态JSON,php,Php,我需要知道如何在PHP中读取JSON,但我不知道该键的用途。这里是一个json的例子,我需要学习一下,但是没有一个键->值对总是相同的。其中一些密钥名称可能拼写不同,或者名称末尾有数字,因此我需要能够使它们动态 下面是我将循环使用的JSON的一个确切示例 [ { "var5":"item-company-1", "asd2":"item-company-1", "tie1":"0", "cxs1":"481.891px",

我需要知道如何在PHP中读取JSON,但我不知道该键的用途。这里是一个json的例子,我需要学习一下,但是没有一个键->值对总是相同的。其中一些密钥名称可能拼写不同,或者名称末尾有数字,因此我需要能够使它们动态

下面是我将循环使用的JSON的一个确切示例

[  
   {  
      "var5":"item-company-1",
      "asd2":"item-company-1",
      "tie1":"0",
      "cxs1":"481.891px",
      "xcve2":"130.563px"
   },...
我知道如果我知道钥匙的确切名称,我会这样做

 $someObject = json_decode($someJSON);
  print_r($someObject);      // Dump all data of the Object
  echo $someObject[0]->name; // Access Object data

但是我不知道钥匙。我假设必须创建for next循环才能遍历每个对象,但我不知道如何在PHP中执行该操作。

我假设您的json始终采用以下格式

$json = '[  
   {  
      "var5":"item-company-1",
      "asd2":"item-company-1",
      "tie1":"0",
      "cxs1":"481.891px",
      "xcve2":"130.563px"
   },
   {  
      "var6":"item-company-2",
      "asd7":"item-company-2",
      "tie8":"0",
      "cxs9":"481.891px",
      "xcve10":"130.563px",
      "extra" : "unknown"
   }
]';
然后可以将整个
JSON
转换为一个数组并运行循环

$array = json_decode ($json ,true);

foreach ($array as $item) {
    foreach($item as $key => $value) {
        echo $value;
    }
}

我标出了答案,因为他从技术上回答了我的问题

我还发现了这个解决方案,希望它能在将来帮助某些人,作为上述解决方案的一个很好的替代方案。实际上,这将遍历一个多级数组以获取所有值

$jsonIterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator(json_decode($json, TRUE)),
    RecursiveIteratorIterator::SELF_FIRST);

foreach ($jsonIterator as $key => $val) {
    if(is_array($val)) {
        echo "$key:\n";
    } else {
        echo "$key => $val\n";
    }
}

您知道json的结构是否总是相同的吗?