标题听起来有点令人困惑,虽然我确信这是一个简单的解决方案。我正在使用json_encode并正在开发一个Web API。 Web API将回显json_encoded的数组。我希望它看起来像这样:
complex1() {
//do something
}
我试过这个:
{
{
"id": "test",
"reason": "test reason"
},
{
{
"id": "test2",
"reason": "test reason2"
}
}
这仍然有一把钥匙(“”)令人讨厌。我不想要钥匙。我怎样才能解决这个问题?谢谢! :)
答案 0 :(得分:0)
{
{
"id": "test",
"reason": "test reason"
},
{
{
"id": "test2",
"reason": "test reason2"
}
}
这不可能有充分的理由:在javascript中,花括号表示对象。在一个对象中,每个属性都必须有一个键。另一端的括号表示数字索引数组。
php中的数组类型可能令人困惑,因为它是一个多合一的数组,您可以根据需要混合和匹配键。
所以这是有效的JSON,可能是你真正需要的(如果你不关心键,你需要循环遍历值):
[
{
"id": "test",
"reason": "test reason"
},
{
{
"id": "test2",
"reason": "test reason2"
}
]
修改强>
您可以通过json_encode()
在php中创建这样的数组:
$array = [["id"=> "test","reason"=> "test reason"],["id"=> "test","reason"=> "test reason"]];
echo json_encode($array);
答案 1 :(得分:0)
我认为这更符合你的原始代码,你几乎把它钉了
<?php
$array = array();
// create 1st detail entry
$arrayDetail = array();
$arrayDetail["id"] = "test";
$arrayDetail["reason"] = "test reason";
$array[] = $arrayDetail; // add detail to array
// create 2nd detail entry
$arrayDetail = array();
$arrayDetail["id"] = "test";
$arrayDetail["reason"] = "test reason";
$array[] = $arrayDetail; // add detail to array
// show the output
var_dump(json_encode($array, JSON_PRETTY_PRINT));
答案 2 :(得分:0)
您可以使用array_push
方法获得以下格式,
$array = array();
array_push($array, array('id' => 'test', 'reason' => 'test reason' ) );
echo json_encode($array);
resut将是一个有效的json格式
[{"id":"test","reason":"test reason"}]