我正在使用json_encode
将PHP数组转换为json,除了一件事,它似乎工作正常。
如果我有这样的多维数组:
$person = array(
'name' => 'John Smith',
'age' => 36,
'siblings' => array(
'male' => array('John Doe','Mark'),
'female' => array('Jane Doe','Jane Smith')
)
);
我希望它在siblings
周围添加方括号,但它只围绕male
和female
,即:
{
"name":"John Smith",
"age":36,
"siblings":{
"male":[
"John Doe",
"Mark"
],
"female":[
"Jane Doe",
"Jane Smith"
]
}
}
我想要"siblings":[{ ... }]
这可能吗?
答案 0 :(得分:4)
$person = array(
'name' => 'John Smith',
'age' => 36,
'siblings' => array(array(
'male' => array('John Doe','Mark'),
'female' => array('Jane Doe','Jane Smith')
))
);
这将准确地给出你想要的但是没有多大意义
答案 1 :(得分:2)
JavaScript不支持assosicative数组,因此assosicative数组将转换为对象。
但你可以遍历对象,就像你可以迭代数组一样。
var i, j;
for (i in siblings) {
for (j = 0; j < i.length; i++) {
i[j];
}
}
答案 2 :(得分: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',
),
)
);