我试图在一个 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":[{...}]},...}
这似乎就是你想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)