【发布时间】:2014-07-17 14:26:42
【问题描述】:
有没有办法将 PHP 数组(或任何其他类似的 PHP 对象)编码为 JSON,同时 JSON 数组具有相同的键?
这是一个例子:
{"categories" : [ {"key": "data1"}, {"key": "data2"}, {"key": "data3" } ] }
请注意,“categories”对象是一个可以简单地用 for 循环解析的数组。 但是,在 PHP 中,关联数组中似乎不可能有相同的键。所以我不能将上面的结构作为json_encode的结果,我必须有“key1”、“key2”、“key3”,这使我无法简单地用Javascript中的for循环解析它。
编辑:修正 JSON 语法 EDIT2:所有数据都不同。键是相同的。
【问题讨论】:
-
您显示的不是有效的 JSON。如果您想生成无效的 JSON(我想不出您可能想要这样做的原因),您需要编写自己的编码器/解码器
-
[] 应该是 {},因为只有存在 [] 的值才能存在
-
只需稍微改变你的 json 就可以了:
{"categories" : [ {"key": "data"},{ "key": "data"},{"key": "data"} ] } -
@OzanKurt 否,那么最后一个值将覆盖以前的值。这根本无效。
-
@Jon 请参阅JSONLint 或类似项目。短:你不能那样做。如果您想使用相同的密钥,请使用用于
{"cat":{"key":["item1","item2"]}}的数组
标签: javascript php arrays json