我正在使用symfony2,我需要创建一个类似的json结构:
{
"map": [
[ X, 1, 1, 1, 1],
[ 1, 1, 1, 1, 1],
[ 1, 1, 1, 1, 1],
[ 1, 1, 1, 1, 1],
[ 1, 1, 1, 1, 1],
]
}
我需要生成这个数组然后保存到文件.json ..
在这个例子中,它只是一个数组5-5,但我可以有X-X,大小在变量$size
中。
那么,我怎样才能用PHP生成这种json?
另一个问题,我需要在生成json后更新某些数据。例如,我需要将X替换为8。
答案 0 :(得分:2)
使用json_encode()
$arr = array(
'map' => array(
array(
'X',1,1,1,1
),
array(
1,1,1,1,1
),
array(
1,1,1,1,1
),
array(
1,1,1,1,1
),
array(
1,1,1,1,1
)
)
);
echo json_encode($arr);
// outputs {"map":[["X",1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1]]}
如果你不确定PHP数组会产生什么样的生成你之后的JSON,那就写下你之后的json数组的测试样本,并基本上反向运行它!使用json_decode()
,例如:
$json_string = '{"map":[["X",1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1]]}';
print_r(json_decode($json_string, true));
然后会向您展示数组结构。
答案 1 :(得分:1)
试试这个,
$Data = array(
'map' => array( array('x','1','1','1','1'),
array('1','1','1','1','1'),
...
array('1','1','1','1','1')
)
);
echo json_encode($Data);