我的JSON字符串,
JSON.parse('{"start_date_time": ["2012-12-05 04:45:42.135000", "None"], "terminal_no": ["T1081", "None"], "master_doc_no": ["100008", "100008"], "notes": ["", ""], "doc_no": ["1000018", "1000019"], "location_code": ["1005", "1005"], "end_date_time": ["2012-12-05 05:27:04.529000", "None"], "doc_status": ["CC Ended", "Draft"], "bc_list": ["[{\"465\":\"85\"},{\"306\":\"6\"},{\"306\":\"47\"},{\"306\":\"366\"},{\"306\":\"634\"}]", "[{\"257\":\"14\"}]"]}')
但它抛出 SyntaxError:意外数字
我在哪里错了?
答案 0 :(得分:4)
您可以从bc_list
...
JSON.parse('{"bc_list": ["", "{\"257\":\"14\"}]"]}')
问题是您的反斜杠正在考虑JSON.parse()
上的外部引号而不是内部数据。你也必须逃避反斜杠。
JSON.parse('{"bc_list": ["", "{\\"257\\":\\"14\\"}]"]}')
你的整行固定变为:
JSON.parse('{"start_date_time": ["2012-12-05 04:45:42.135000", "None"], "terminal_no": ["T1081", "None"], "master_doc_no": ["100008", "100008"], "notes": ["", ""], "doc_no": ["1000018", "1000019"], "location_code": ["1005", "1005"], "end_date_time": ["2012-12-05 05:27:04.529000", "None"], "doc_status": ["CC Ended", "Draft"], "bc_list": ["[{\\"465\\":\\"85\\"},{\\"306\\":\\"6\\"},{\\"306\\":\\"47\\"},{\\"306\\":\\"366\\"},{\\"306\\":\\"634\\"}]", "[{\\"257\\":\\"14\\"}]"]}')
不要在JSON数据中的字符串中使用JSON数据。这是一团糟。
答案 1 :(得分:0)
这通常意味着您在计算中缺少运算符或有非法运算符。
例如:
var a = 1000 * 1000; // correct
var b = 1000 1000; // incorrect
var c = 1234; // correct
var d = 1,234; // incorrect
vars b和d将导致:
Uncaught SyntaxError: Unexpected number