2011-11-24 95 views
-3

我想用PHP構建一個json對象。 JSON對象必須是這樣的(用於創建一個谷歌的折線圖):使用重複鍵創建json數據

{"cols":[{"id":"bingo","label":"bingo","type":"string"},{"id":"value","label":"value","type":"number"}],"rows":[{"c":[{"v":"date1"},{"v":151}]},{"c":[{"v":"date2"},{"v":102}]},{"c":[{"v":"date3"},{"v":52}]},{"c":[{"v":"date4"},{"v":32}]},{"c":[{"v":"date5"},{"v":7}]},{"c":[{"v":"date5"},{"v":7}]},{"c":[{"v":"date5"},{"v":7}]}]} 

我有一個問題,創建以下部分:

{"c":[{"v":"date3"},{"v":52}]},{"c":[{"v":"date4"},{"v":32}]},{"c":[{"v":"date5"},{"v":7}]},{"c":[{"v":"date5"},{"v":7}]},{"c":[{"v":"date5"},{"v":7}]} 

如何創建這個用PHP?

+4

你有什麼問題創建它?你的原始數據是什麼樣的? –

回答

1

PHP附帶JSON extension。你唯一需要弄清楚的是你必須用PHP創建數據。 JSON中的[]是一個數組,{}是一個字典。對於部分提到,你需要這樣的事:

$foo = array(
    array(
     'c' => array(
     array('v' => 'date3'), 
     array('v' => 52) 
    ) 
    ), 
    array(
     'c' => array(
     array('v' => 'date4'), 
     array('v' => 32) 
    ) 
    ), 
    // and so on... 
); 
1

在PHP中使用重建這樣的:如果你想打印在JSON

$data = array (
    'cols' => 
    array (
    array (
     'id' => 'bingo', 
     'label' => 'bingo', 
     'type' => 'string', 
    ), 
    array (
     'id' => 'value', 
     'label' => 'value', 
     'type' => 'number', 
    ), 
), 
    'rows' => 
    array (
    array (
     'c' => 
     array (
     array (
      'v' => 'date1', 
     ), 
     array (
      'v' => 151, 
     ), 
    ), 
    ), 
    array (
     'c' => 
     array (
     array (
      'v' => 'date2', 
     ), 
     array (
      'v' => 102, 
     ), 
    ), 
    ), 
    array (
     'c' => 
     array (
     array (
      'v' => 'date3', 
     ), 
     array (
      'v' => 52, 
     ), 
    ), 
    ), 
    array (
     'c' => 
     array (
     array (
      'v' => 'date4', 
     ), 
     array (
      'v' => 32, 
     ), 
    ), 
    ), 
    array (
     'c' => 
     array (
     array (
      'v' => 'date5', 
     ), 
     array (
      'v' => 7, 
     ), 
    ), 
    ), 
    array (
     'c' => 
     array (
     array (
      'v' => 'date5', 
     ), 
     array (
      'v' => 7, 
     ), 
    ), 
    ), 
    array (
     'c' => 
     array (
     array (
      'v' => 'date5', 
     ), 
     array (
      'v' => 7, 
     ), 
    ), 
    ), 
), 
); 

現在,使用:

echo json_encode ($data);