0

PHP配列をjsonに変換するために使用json_encodeしていますが、1つのことを除いて正常に動作しているようです。

次のような多次元配列がある場合:

$person = array(
  'name' => 'John Smith',
  'age' => 36,
  'siblings' => array(
    'male' => array('John Doe','Mark'),
    'female' => array('Jane Doe','Jane Smith')
  )
);

括弧を付けたいのですが、 andsiblingsのみを囲みます。つまり、次のようになります。malefemale

{
  "name":"John Smith",
  "age":36,
  "siblings":{
    "male":[
      "John Doe",
      "Mark"
    ],
    "female":[
      "Jane Doe",
      "Jane Smith"
    ]
  }
}

そして、私はしたいです"siblings":[{ ... }]

これは可能ですか?

4

3 に答える 3

4
$person = array(
  'name' => 'John Smith',
  'age' => 36,
  'siblings' => array(array(
    'male' => array('John Doe','Mark'),
    'female' => array('Jane Doe','Jane Smith')
  ))
);

これはあなたが望むものを正確に与えますが、あまり意味がありません

于 2012-11-05T00:25:18.553 に答える
2

JavaScript は連想配列をサポートしていないため、連想配列はオブジェクトに変換されます。

ただし、配列を反復処理できるように、オブジェクトを反復処理できます。

var i, j;
for (i in siblings) {
   for (j = 0; j < i.length; i++) {
       i[j];
   }
}
于 2012-11-05T00:25:07.663 に答える
0

次のようなことができます。

$person = array(
  'name' => 'John Smith',
  'age' => 36,
  'siblings' => array(
    array(
      'gender' => 'male',
      'name' => 'John Doe',
    ),
    array(
      'gender' => 'male',
      'name' => 'Mark',
    ),
    array(
      'gender' => 'female',
      'name' => 'Jane Doe',
    ),
    array(
      'gender' => 'female',
      'name' => 'Jane Smith',
    ),
  )
);
于 2012-11-05T00:29:10.240 に答える