【问题标题】:Creating json data with duplicate keys [closed]使用重复键创建 json 数据 [关闭]
【发布时间】:2011-11-24 16:08:26
【问题描述】:

我想用 PHP 构建一个 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 创建它?

【问题讨论】:

  • 创建它时遇到什么问题?您的原始数据是什么样的?

标签: php json


【解决方案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...
);

【讨论】:

    【解决方案2】:

    要在 PHP 中重新创建它,请使用:

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

    现在,如果您想以 JSON 格式打印,请使用:

    echo json_encode ($data);
    

    【讨论】:

      猜你喜欢
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多