我想用PHP创建这个JSON字符串:
[{name:'20140722.1304',data:[[0, 0.224],[0, 0.228]] }, {name:'20140729.1149',data:[[1, 0.224],[1,0.228]] }]
我目前的尝试:
$jsonArray = array(
'name' => '20140722.1304'
,'data' => array('0' => '0.024', '1'=> '0.028')
);
$jsonValue = json_encode($jsonArray);
echo $jsonValue;
但是这段代码的输出如下:
{"name":"20140722.1304","data":["0.024","0.028"]}
我哪里出错了?我需要在代码中更改什么才能获得预期的输出?
答案 0 :(得分:0)
我终于让你在评论中告诉我们你想要什么;请在将来与您保持联系。您提供的预期输出与实际输出的不同之处在很多方面,以至于无法确定您实际认为问题是什么,但是:
我希望输出为{name:'20140722.1304',数据:[[0,0.224],[0,0.228]]}
此时,我能看到的唯一区别是您的data
是预期输出中的嵌套数组,而不是实际输出。
这与JSON无关。您只是没有正确构建输入数组。
尝试使用json编码:
$jsonArray = array(
'name' => '20140722.1304'
,'data' => array(array(0, 0.024), array(0, 0.028))
);
答案 1 :(得分:-1)
<?php
for($i=0;$i<2;$i++)
{
$jsonArray[] = array(
'name' => '20140722.1304'
,'data' => array('0' => '0.024', '1'=> '0.028')
);
}
//$jsonValue = json_encode($jsonArray);
$jsonValue = json_encode($jsonArray,true);
echo$jsonValue;
?>
答案 2 :(得分:-2)
试试这个
$jsonArray = array(
'name' => '20140722.1304'
,'data' => array('0' => '0.024', '1'=> '0.028')
);
$out = array_values($jsonArray);
echo json_encode($out);
输出:
["20140722.1304",["0.024","0.028"]]
编辑:
$array = array(
2 => array("name" => '20140722.1304'),
4 => array("'data" => array('0' => '0.024', '1'=> '0.028')));
$out = array_values($array);
echo json_encode($out);
输出:
[{"name":"20140722.1304"},{"'data":["0.024","0.028"]}]