2013-12-11 60 views
1

我使用Symfony2中,我需要创建一个JSON结构类似:PHP和更新DATAS创建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,但我可以有XX,尺寸在可变$size

所以,我怎么能简单地生成这种JSON与PHP?

和另一问题,我需要的,我已经生成了JSON之后,更新萨姆DATAS。例如,我需要通过8

+1

简单。你建立一个PHP数组然后''json_encode()'它。你永远不要直接构建json。毫无意义。处理主机平台的本地结构更容易,然后使用json库进行转换。 –

+0

我错过了,我知道如何生成一个JSON,但我不知道如何生成这个JSON .. ^^ –

+1

@ClémentAndraud一个简单的方法来解决这个问题,就是编写JSON,然后运行json_decode它! – lonesomeday

回答

2

如果您不确定什么样的PHP数组看起来生成你后的JSON来取代X使用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]]} 

,写一个测试样本你正在使用的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

试试这个,

$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);