当前位置: 首页 > 面试题库 >

没有方括号json数组

季俭
2023-03-14
问题内容

尝试访问API时,必须像这样解析JSON数组

{"item":[{"id":"123456", "name":"adam"}]}

但是当我在做下面的代码

$data = array("item" => array("id" => "123456", "name" => "adam"));
echo json_encode($data);

它返回不带方括号的json数组,如下所示

{"item":{"id":"123456","name":"adam"}}

我已经花了数小时试图找出解决方法,却想不出解决方案


问题答案:

您需要将其他东西包装起来array

$data = array("item" => array(array("id" => "123456", "name" => "adam")));

如果我们使用等效的PHP 5.4数组语法,这将更容易理解:

$data = [ "item" => [ ["id" => "123456", "name" => "adam"] ] ];

将此与JSON进行比较:

        { "item":   [ {"id":"123456", "name":"adam"      } ] }

唯一要说明的是,为什么一个PHP数组保留为[]JSON
数组,而另两个数组转换为对象{}。但是文档已经这样做了:

在对数组进行编码时,如果键不是从0开始的连续数字序列,则所有键都将编码为字符串,并为每个键值对显式指定。



 类似资料:
  • 当使用Arrays.ToString时,为什么输出打印在方括号内?如果我不想打印方括号,我需要做什么?

  • 祝大家过得愉快,我想问一件事,我需要用方括号而不是卷发来制作JSON数组,但现在我有了这样的JSON: 我想把它改成这样: 所以我可以把JSON放在我的数据表中,因为它需要方括号而不是方括号,不管怎样,我也在使用reactjs,有可能把JSON数组变成这样吗? 这是我的密码 如果有人能帮助我,我真的很感激:)

  • 使用PHP,我如何解析一个JSON对象,该对象包含方括号中的数组,并由管道“|”分隔? 例如,我需要访问“数据”的第二个组件,在本例中是“英语”。假设长度是可变的,因此不能按字符位置进行切片。

  • 我试图创建一个数据数组与FLOT图表一起使用。我使用这个CodeIgniter代码来生成数组: 这段代码的问题是无法绘制生成的JSON对象,因为“值”实际上是字符串。以下是有问题的JSON输出: 这个JSON有三个问题: 需要方括号而不是花括号;和 以下是JSON输出的格式: 清理这个JSON对象的最佳方法是什么?我应该在服务器端使用CodeIgniter代码吗?或者我应该在javascript中

  • 问题内容: 我有一个像下面这样的json字符串 我想从字符串中删除/删除第一个和最后一个方括号。所以我将如何使用JavaScript从上述字符串中删除第一个和最后一个方括号。 请帮我 问题答案: 请参阅此Codepen示例

  • 我hase测试类: 我想明白,怎么能叫: 将返回def的值。 有可能吗?