php - 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"}}
如何摆脱这些索引?
解决方案
您的尝试很复杂,请使用直接方法:
<?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。原因是对象内部的属性需要有一个名称,这就是对象的定义方式。你不能有一个没有名字的对象持有成员(你在你的问题中称之为“索引”)。
推荐阅读
- google-maps - 地点未显示在 Google Places API 上
- arrays - 在单独的行中显示嵌套的 JSON 数据 - Angular4
- javascript - 执行在 ajax 响应中返回的 js 文件
- qt - GridLayout - ColumnLayout 内的项目居中
- mysql - Mysql 行锁定 - 性能问题
- node.js - Node.JS - 观察和获取对文件的更改
- azure - 加入 Office365 Outlook OAuth 时出现 invalid_grant 错误
- javascript - 循环将几个元素添加到数组 JS
- html - 显示“此网站已在后台更新”的网络应用程序
- azure - 与 Azure 事件中心通信时出现 EPOCH 错误