-2

私はこのjsonコードを持っています:

{
   "data": [
      {
         "name": "John",
         "id": "11"
      },
      {
         "name": "Max",
         "id": "22"
      },
      {
         "name": "Martin",
         "id": "33"
      },
      {
         "name": "Adrian",
         "id": "44"
      }
   ]
}

ここで、すべての名前と ID を次のように出力する必要があります。

John 11
Max 22
Martin 33
Adrian 44

それを行う最も簡単な方法は何ですか?

4

3 に答える 3

4

このような:

$arr = json_decode($string, true); // true to retrieve an associative array
foreach($arr['data'] as $sub) {
  echo $sub['name'],' ',$sub['id'],PHP_EOL;
}

出力:

John 11
Max 22
Martin 33
Adrian 44
于 2012-05-19T08:56:01.823 に答える
1
<?php
$a='{ "data": [ { "name": "John", "id": "11" }, { "name": "Max", "id": "22" }, { "name": "Martin", "id": "33" }, { "name": "Adrian", "id": "44" } ] }';
$b=json_decode($a);
$data=$b->{'data'};
foreach($data as $item) {
  print $item->{'name'}.' '.$item->{'id'}."\n";
}

?>

追加のポイントとして、Javascript バージョン:

objectValueList=function(x) {
  var tags=[];
  for (i in x) {
    if(x.hasOwnProperty(i)) {
      tags.push(x[i]);
    }
  }
  return tags;
}


var a='{ "data": [ { "name": "John", "id": "11" }, { "name": "Max", "id": "22" }, { "name": "Martin", "id": "33" }, { "name": "Adrian", "id": "44" } ] }';
var b=JSON.parse(a);
var data=objectValueList(b.data);
for (x in data) {
  console.log(data[x].name+" "+data[x].id);
}
于 2012-05-19T09:06:51.870 に答える
0

を使用しjson_decode()ます。

$data=json_decode($string);

foreach($data as $person){
    foreach($person as $key=>$val){
        foreach($val as $tuple)
            echo $tuple." ";
        echo "\r\n"; 
        }
    }   
} 
于 2012-05-19T08:52:19.497 に答える