【发布时间】:2012-03-08 13:02:13
【问题描述】:
我有这个 JSON 字符串:
{
"product": [
{
"id": "1",
"title": "producta",
"size": "50",
"weight": "1000",
"price": "30",
"quantity": "100",
"cartID": "1"
},
{
"id": "1",
"title": "producta",
"size": "50",
"weight": "1000",
"price": "30",
"quantity": "100",
"cartID": "2"
}
]
}
当我使用 PHP 函数 json_decode($products, true),然后我使用 json_encode($products) 对其重新编码时,字符串变为:
{
"product": {
"1": {
"id": "2",
"title": "producta",
"size": "50",
"weight": "1000",
"price": "30",
"quantity": "100",
"cartID": "2"
},
"2": {
"id": "1",
"title": "producta",
"size": "50",
"weight": "1000",
"price": "30",
"quantity": "100",
"cartID": "3"
}
}
}
解码和重新编码后,它为每个“产品”添加一个密钥
有没有办法解决这个问题?
【问题讨论】:
-
神圣哔哔蝙蝠侠!太可怕了!
-
:/ 原来的格式有没有错误?
-
@TaylorMac:不,这只是我讨厌 PHP 的一种新方式。
-
@RPM: "通常你用 JavaScript 检索 JSON 数据" 真的吗?我通常使用 Python 从 Web 服务中提取它。
-
所有 PHP 数组必须有键。 json_encode() 将精确复制内部存储的任何内容,包括这些密钥。