我有一个如下数组:
Array
(
[option] => nos
[optioncost] => 10
)
Array
(
[option] => opts
[optioncost] => 20
)
Array
(
[option] => opts
[optioncost] => 30
)
需要将其转换为以下json格式
[{"option":nos,"optioncost":10},{"option":opts,"optioncost":20},{"option":optse,"optioncost":30}]
答案 0 :(得分:1)
试试这段代码:
<?php
$arr = array();
$arr[] = array('option' => 'nos',
'optioncost' => 10
);
$arr[] = array('option' => 'opts',
'optioncost' => 20
);
$arr[] = array('option' => 'optse',
'optioncost' => 30
);
echo json_encode($arr);
?>
输出:
[{"option":"nos","optioncost":10},{"option":"opts","optioncost":20},{"option":"opts","optioncost":30}]
希望这有帮助!
答案 1 :(得分:0)
您提供的json
示例无效,因为strings
未引用(nos / opts),您可以在任何{{ {3}}。
你需要构造正确的数组 - 其中字符串是“引用的” - 并使用online json validator函数,即:
$arr1 = ['option' => "nos", 'optioncost' => 10];
$arr2 = ['option' => "opts", 'optioncost' => 20];
$arr3 = ['option' => "opts", 'optioncost' => 30];
echo json_encode([$arr1, $arr2, $arr3]);
# [{"option":"nos","optioncost":10},{"option":"opts","optioncost":20},{"option":"opts","optioncost":30}]
注意:
Strings
需要引用,但floats
,ints
或bools
不需要引用。