我有一个简单的JSON数组,我正在尝试编码。在JSON字符串内部,我需要方括号中的另一个数组。我无法弄清楚如何使内部括号方块。有什么建议吗?
这是我的代码
$data = [ "item" => ["id" => "123456", "name" => "adam"] ];
$data_string = json_encode($data);
这是输出
{"item":{"id":"123456","name":"adam"}}
我希望得到什么
{"item":["1123","1134","1184"]}
答案 0 :(得分:7)
在JSON []
中是一个数组,{}
是一个对象。
数组包含有序的值列表。
对象包含一组无序的键/值对。
如果你想要一个数组,那么你必须提供一个有序的值列表(PHP数组),而不是一组键/值对(PHP关联数组)。
$data = [ "item" => ["id", "123456", "name", "adam"] ];
$data_string = json_encode($data);
给出
{"item":["id","123456","name","adam"]}
答案 1 :(得分:1)
我记得,JSON数组不能同时拥有键和值,就像javascript一样。如果你有带有键和值的php数组,它将被转换为Object for JSON,从php数组中删除键,你也将获得JSON数组。