这个 json 输出的正确 php 数组是什么


What is the right php array for this json output?

我想有这个JSON输出;

                          [
                            {c: [
                                {v: "1"},
                                {v: 90}
                            ]},
                            {c: [
                                {v: "2"},
                                {v: 80}
                            ]}
                          ] 

这是我的 php 代码;

            $data = array('c' => ( array('v'=>1 ), array('v'=>90 ) ),
                                 ( array('v'=>2 ), array('v'=>80 ) )
                    );
            echo json_encode($data);

语法甚至不正确,我花了一些时间在这里和那里添加括号,但错误仍然存在。如何获得正确的 php 数组来实现所需的 json 输出?

谢谢。

您应该像这样重新创建数组以获得预期的JSON

<?php
$arr = array(
    0 =>
        array(
            'c' =>
                array(
                    0 =>
                        array(
                            'v' => '1',
                        ),
                    1 =>
                        array(
                            'v' => 90,
                        ),
                ),
        ),
    1 =>
        array(
            'c' =>
                array(
                    0 =>
                        array(
                            'v' => '2',
                        ),
                    1 =>
                        array(
                            'v' => 80,
                        ),
                ),
        ),
);
echo json_encode($arr);

OUTPUT :

[{"c":[{"v":"1"},{"v":90}]},{"c":[{"v":"2"},{"v":80}]}]
<?php
$data = array(
    'c' => array(
            array('v' => 1), 
            array('v' => 90,) 
    ),
    'd' => array(
            array('v' => 2), 
            array('v' => 90,) 
    ),
);
echo json_encode($data);

根据需要输出,只有第二个"c"更改为"d":

{"c":[{"v":1},{"v":90}],"d":[{"v":2},{"v":90}]}

用数组括起来以获得[表示法

<?php
$data = array(array('c' => array(array('v'=>1 ),array('v'=>90 )) ,array(array('v'=>2 ,array('v'=>80 )) )));
echo json_encode($data);

输出:

[{"c":[{"v":1},{"v":90}],"0":[{"v":2,"0":{"v":80}}]}]