Php - 查找Json格式的属性及其值

时间:2014-01-22 17:40:59

标签: php json

我有一个json数组(只有一行有很多属性),如下所示:

    $row = '[{"ID":"0","Name":"user","Option":"yes"}]';

我可以通过以下方式访问每个值:

    $row->ID; $row->Name; ...

我的问题是如何使用循环来查找所有属性及其值而不使用:

  

$ obj = json_decode($ row);

2 个答案:

答案 0 :(得分:2)

json_decode的第二个参数指定如果你给它true,它将返回一个数组而不是一个对象。

所以,如果我理解你的问题,这应该是你正在寻找的:

$row = '[{"ID":"0","Name":"user","Option":"yes"}]';
foreach (json_decode($row, true) as $key => $value) {
  echo $key . ' = ' . $value . PHP_EOL;
}

希望这会有所帮助:)

答案 1 :(得分:1)

除非你不仅仅使用json_decode的原因,否则你的JSON就像你的$row = '[{"ID":"0","Name":"user","Option":"yes"}]'; $row = substr($row, 2, strlen($row) - 4); // Removes [{ and }] $items = explode(',', $row); // Explodes into parts $final = array(); foreach($items as $item) { $parts = explode(':', $item); // Key/value $key = substr($parts[0], 1, strlen($parts[0]) - 2); // Remove quotes $value = substr($parts[1], 1, strlen($parts[1]) - 2); // Remove quotes $final[$key] = $value; } var_dump($final); 一样复杂(只是阵列中的一个项目),你可以它除了:

{{1}}