首页 > 解决方案 > PHP多维数组转换为JSON对象而不显示索引

问题描述

我有来自转发器的表单输出,如下所示:

array:2 [ 0 => array:1 ["participant_name" => "John" ], 0 => array:1 ["participant_name" => "Jane" ]]

我需要从这个 JSON 对象看起来像这样:

{{"participant_name":"John"},{"participant_name":"Jane"}}

到目前为止,我尝试过$participantsJson = json_encode( array_values($participants) , JSON_FORCE_OBJECT); ,但我总是得到这个形状

 {"0":{"participant_name":"John"},"1":{"participant_name":"Jane"}}

如何摆脱这些索引?

标签: phparraysjson

解决方案


您的尝试很复杂,请使用直接方法:

<?php
$input = [
  ["participant_name" => "John" ], 
  ["participant_name" => "Jane" ],
];
$output = json_encode($input);
var_dump($output);

输出是:

string(57) "[{"participant_name":"John"},{"participant_name":"Jane"}]"

并不是说输出是以JSON 格式编码的数组......

您的问题改为演示编码对象,但这是无效的 JSON。原因是对象内部的属性需要有一个名称,这就是对象的定义方式。你不能有一个没有名字的对象持有成员(你在你的问题中称之为“索引”)。


推荐阅读