使用PHP创建JSON对象 如何使用PHP实现或创建这种类型的JSON对象?
经过几次尝试,我没有找到解决办法。 例如,我尝试了以下方法:使用PHP创建JSON对象 如何使用PHP实现或创建这种类型的JSON对象?,php,json,Php,Json,经过几次尝试,我没有找到解决办法。 例如,我尝试了以下方法: $arrayDateAndMachine = array( "1999"=>3.0, "2000"=>3.9 ); $arr = array( "label" => "Devices per year", "data" => $arrayDateAndMachine ); var_dump(json_encode($arr)); 试试这个 $arrayDateAn
$arrayDateAndMachine = array(
"1999"=>3.0,
"2000"=>3.9
);
$arr = array(
"label" => "Devices per year",
"data" => $arrayDateAndMachine
);
var_dump(json_encode($arr));
试试这个
$arrayDateAndMachine = array( array("1999","3.0"),
array("2000","3.9")
);
json
中的方括号[]
是数组,所以您必须这样做
<?php
$arrayDateAndMachine = array(
array(1999, 3.0),
array(2000, 3.9),
);
$arr = array("label" => "Devices per year",
"data" => $arrayDateAndMachine);
var_dump(json_encode($arr));
我更喜欢下面的语法,它可以获得所需的结果,并且易于阅读:
$ar = array(
"label" => "Devices per years",
"data" => array(array(1999, 3.0), array(2000, 3.9) )
);
var_dump(json_encode($ar));
唯一的区别是输出中的“3.0”被呈现为“3”。如果需要尾随的“.0”,可以用引号将这些值括起来。如果只想将其声明为JSON,而不是使用JSON_encode,那么这样做应该是可行的。这还消除了为内部的每个数组声明多个变量的需要。但只有当数据数组的内容是有限的时,这才是可行的解决方案
$json_string = '{
"label": "Devices per year",
"data": [
[1999, 3.0], [2000, 3.9], [2001, 2.0], [2002, 1.2], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1], [2007, 2.9], [2008, 0.9]
]}';
那没用。。。?您得到的是什么输出?这将把数组中的值作为字符串而不是预期结果中的数字。如果您得到错误“stdClass not found”,请替换新的stdClass();使用\stdClass();(注意类名前面的\)。
$ar = array(
"label" => "Devices per years",
"data" => array(array(1999, 3.0), array(2000, 3.9) )
);
var_dump(json_encode($ar));
$json_string = '{
"label": "Devices per year",
"data": [
[1999, 3.0], [2000, 3.9], [2001, 2.0], [2002, 1.2], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1], [2007, 2.9], [2008, 0.9]
]}';