PhP在[]中返回Json

PhP在[]中返回Json,php,json,Php,Json,嘿,我正在尝试使用json\u encode以json格式传递数据 然而,它似乎是这样返回的: [{‘county’:’us’,’sector’:’retail’}] 然而,最终用户表示,他们希望没有方括号的响应 我该怎么做 谢谢 取决于您如何生成编码的值json_encode有一个选项json_FORCE_OBJECT您可以使用,但从我看来,这可能不是您想要的,因为在我看来,这只会将“方括号”变成包装器对象。然而,如果您想尝试: json_encode($value, JSON_FORCE_

嘿,我正在尝试使用
json\u encode
以json格式传递数据

然而,它似乎是这样返回的:

[{‘county’:’us’,’sector’:’retail’}]
然而,最终用户表示,他们希望没有方括号的响应

我该怎么做


谢谢

取决于您如何生成编码的值
json_encode
有一个选项
json_FORCE_OBJECT
您可以使用,但从我看来,这可能不是您想要的,因为在我看来,这只会将“方括号”变成包装器对象。然而,如果您想尝试:

json_encode($value, JSON_FORCE_OBJECT);

编辑:正如其他人所说,似乎
json\u encode($value[0])
就是您想要的。

假设您的数组是:

$data = [
    'country' => 'us',
    'sector' => 'retail',
];
然后返回一个json_编码的数组,如下所示:

json_encode($data);
// {"country":"us","sector":"retail"}
但是,如果包含数据的数组是“嵌套”的,则如下所示:

然后返回编码后的第一个元素:

json_encode($data[0]);
// {"country":"us","sector":"retail"}

我的经验是,您意外地将数据存储为数组的第一项

例如,您可能已经执行了以下操作:

$json_store = Array();
$json_store[] = Array('country' => 'us', 'sector' => 'retail');
$json = json_encode($json_store);
对此进行测试的一种方法是查看执行以下操作是否会移除支架:

$json_encode($json_store[0])

如果是这样的话,您就有了一个不必要的嵌套数组,应该修复它。可能应该避免使用上述行,因为最好首先确定数据的存储方式。

分享您的代码如何生成json?您能给我们一个您试图输出的数组的示例吗?还有一个有趣的事实,将数组作为json的第一层是可以利用的。使用
?真正地我想不出任何时候
json\u encode
会这样做。您还未能包含一个。您没有向我们展示的代码无法解决问题。
json\u encode($data[0])
将为您提供第一个对象。您所拥有的是一个数组,您正在寻找一个对象。其目的是通过post请求以api的形式返回数据。那么,返回这个的最佳方式是什么呢?完美JSON_FORCE_对象似乎已经完成了这个任务,谢谢各位
$json_encode($json_store[0])