gpt4 book ai didi

PHP json_encode多个数组为一个对象

转载 作者:可可西里 更新时间:2023-11-01 00:42:21 24 4
gpt4 key购买 nike

我试图在一个 JSON 对象中返回多个数组,但在语法上遇到了一些困难。一个 Android 应用程序从多个表接收更新,我希望在一个响应中返回这些更新。

目前,这是我对各种结果集进行编码的方式:

$json=json_encode(array($table1, $table2, $table3, $table4, $table5, $table6));

数据以这种格式返回:

[{"table1":[{...}]},{"table2":[{...}]},...]

在 Android 代码中,我希望能够将其解析为 JSONObject,然后我可以从中按名称检索每个数组,而不是将其解析为 JSONArray 并按位置检索每个子数组。 JSON 响应看起来像这样:

    {{"table1":[{...}]},{"table2":[{...}]},...}

似乎我需要做的就是将结果数组包装在一个对象中,而不是 PHP 端的数组,但是尽管我设法盲目地拼凑了足够多的 PHP 代码来达到这个目的,但我做不到似乎弄清楚了最后一步。

最佳答案

您的最后一个示例不是有效的 JSON,大括号始终表示带有键的对象;相反,您将其视为一个数组。如果你想要一个对象,那么在 PHP 中将键添加到数组中,如下所示:

$json=json_encode(array('a' => $table1, 'b' => $table2, 'c' => $table3));

这会产生

{"a":{"table1":[{...}]},"b":{"table2":[{...}]},...}

这似乎是你想要的。

关于PHP json_encode多个数组为一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31684084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com