4

私の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\"}]"]}')

しかし、そのスロー構文エラー:予期しない数

私はここでどこが間違っていますか?

4

2 に答える 2

5

これを問題が発生する場所まで単純化することから始めることができ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 データを使用しないでください。それは混乱です。

于 2012-12-15T05:06:38.250 に答える