我遇到麻烦让json_decode处理我收到的特定字符串.
我把它缩小到这条线:
"systemNotes [6]":"2013年1月9日下午12:52 - 测试名称 - 更改结算地址2从发货名称:发货姓氏:电子邮件地址:发货地址:发货地址2:发货城市:发货邮编/邮政:运输国家:运输状态:电话:账单名:账单姓:账单地址:账单地址2:账单C"
从这个问题复制json,问题是不可重现的 - 但原始json的代表片段在这里:http://codepad.org/ZzrC7rqQ - 并将其放在jsonlint.com中给出:
Parse error on line 3:
... "systemNotes[6]": "January 09, 2013 12
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
Run Code Online (Sandbox Code Playgroud)
这个字符串有什么问题,这是无效的json?
编辑
我设法找到了确切的代码.
"systemNotes [6]":"一月+ 09%2C + 2013 + 12%+ 3A52 PM ++首先+名称++ ++变更帐单+地址+ 2 +从++到+送货+首先+名称%3A% 09 +运费+尾+名称%3A%09 +电子邮件+地址%3A%09 +运费+地址%3A +%09 +运费+地址+ 2%3A +%09 +运费+城市%3A +%09 +运费+邮编% 2FPostal%3A +%09 +运费+乡村%3A +%09 +运费+州立%3A +%09 +电话%3A +%09 +计费+一+名称%3A +%09 +计费+尾+名称%3A +%09 +计费+地址%3A +%09 +帐单+地址+ …
我正在查询API并发送一个JSON响应,然后我将其解码为一个数组.这部分工作正常,但API以相当不友好的格式发送信息.
我将粘贴我遇到问题的部分.本质上,我试图将每个像键一样更改为自己的数组.
Array
(
[name] => Name
[address] => 123 Street Rd
[products[0][product_id]] => 1
[products[0][price]] => 12.00
[products[0][name]] => Product Name
[products[0][product_qty]] => 1
[products[1][product_id]] => 2
[products[1][price]] => 3.00
[products[1][name]] => Product Name
[products[1][product_qty]] => 1
[systemNotes[0]] => Note 1
[systemNotes[1]] => Note 2
)
Run Code Online (Sandbox Code Playgroud)
现在我想做的是这样做:
Array
(
[name] => Name
[address] => 123 Street Rd
[product] => Array
(
[0] => Array
(
[product_id] => 1
[price] => 12.00
[name] => Product Name
[product_qty] => 1
) …Run Code Online (Sandbox Code Playgroud) 所以我可能只是为自己完全过度复杂,但我试图在多维数组中获取数组的索引.
希望显示它更有意义.
Array
(
[1234] => Array
(
[Name] => Test
)
[5435] => Array
(
[Name] => Test
)
)
Run Code Online (Sandbox Code Playgroud)
我有一个大数组,不同的数字作为索引,我需要通过它们做一个foreach,但我需要索引号.(1234,5435)
这有什么简单的方法吗?