解析 JSON 给出几个单独的元素组合在一起
Parsing JSON gives few separate elements put toghether as one
我关注 JSON(我已经验证 here):
{
"name": "Brian",
"agentid": "12345",
"username": "bob",
"passcode": "bob01",
"call": {
"aa": "11",
"bb": "22",
"cc": "33",
"dd": "44"
},
"call": {
"aa": "111",
"bb": "222",
"cc": "333",
"dd": "444"
},
"call": {
"aa": "1111",
"bb": "2222",
"cc": "3333",
"dd": "4444"
},
"call": {
"aa": "11111",
"bb": "22222",
"cc": "33333",
"dd": "44444"
}
}
当我把这个通过 var_dump(json_decode($json, true));
时,它给了我:
array(5) {
["name"]=> string(5) "Brian"
["agentid"]=> string(5) "12345"
["username"]=> string(3) "bob"
["passcode"]=> string(5) "bob01"
["call"]=> array(4) {
["aa"]=> string(5) "11111"
["bb"]=> string(5) "22222"
["cc"]=> string(5) "33333"
["dd"]=> string(5) "44444"
}
}
前三个 call
元素似乎被覆盖了。
如何解析这个JSON并保留所有call
个元素?
这是有效的 JSON 语法,但内容毫无意义。拥有更多的同名钥匙是错误的。您应该制作单个 call
并将其转换为 JSON array ,您将在其中存储所有对象:
{
"name":"Brian",
"agentid":"12345",
"username":"bob",
"passcode":"bob01",
"call":[
{
"aa":"11",
"bb":"22",
"cc":"33",
"dd":"44"
},
{
"aa":"111",
"bb":"222",
"cc":"333",
"dd":"444"
},
{
"aa":"1111",
"bb":"2222",
"cc":"3333",
"dd":"4444"
},
{
"aa":"11111",
"bb":"22222",
"cc":"33333",
"dd":"44444"
}
]
}
我关注 JSON(我已经验证 here):
{
"name": "Brian",
"agentid": "12345",
"username": "bob",
"passcode": "bob01",
"call": {
"aa": "11",
"bb": "22",
"cc": "33",
"dd": "44"
},
"call": {
"aa": "111",
"bb": "222",
"cc": "333",
"dd": "444"
},
"call": {
"aa": "1111",
"bb": "2222",
"cc": "3333",
"dd": "4444"
},
"call": {
"aa": "11111",
"bb": "22222",
"cc": "33333",
"dd": "44444"
}
}
当我把这个通过 var_dump(json_decode($json, true));
时,它给了我:
array(5) {
["name"]=> string(5) "Brian"
["agentid"]=> string(5) "12345"
["username"]=> string(3) "bob"
["passcode"]=> string(5) "bob01"
["call"]=> array(4) {
["aa"]=> string(5) "11111"
["bb"]=> string(5) "22222"
["cc"]=> string(5) "33333"
["dd"]=> string(5) "44444"
}
}
前三个 call
元素似乎被覆盖了。
如何解析这个JSON并保留所有call
个元素?
这是有效的 JSON 语法,但内容毫无意义。拥有更多的同名钥匙是错误的。您应该制作单个 call
并将其转换为 JSON array ,您将在其中存储所有对象:
{
"name":"Brian",
"agentid":"12345",
"username":"bob",
"passcode":"bob01",
"call":[
{
"aa":"11",
"bb":"22",
"cc":"33",
"dd":"44"
},
{
"aa":"111",
"bb":"222",
"cc":"333",
"dd":"444"
},
{
"aa":"1111",
"bb":"2222",
"cc":"3333",
"dd":"4444"
},
{
"aa":"11111",
"bb":"22222",
"cc":"33333",
"dd":"44444"
}
]
}