2013-12-11 56 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);