2011-11-24 49 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);