list = "{"mins_spent_in_stor":"{"AM 01:00":0,"AM 02:00":0,"AM 03:00":0,"AM 04:00":0,"AM 05:00":0,"AM 06:00":0,"AM 07:00":0,"AM 08:00":0,"AM 09:00":0,"AM 10:00":0,"AM 11:00":0,"PM 12:00":273,"PM 01:00":0,"PM 02:00":30,"PM 03:00":0,"PM 04:00":0,"PM 05:00":0,"PM 06:00":0,"PM 07:00":0,"PM 08:00":0,"PM 09:00":0,"PM 10:00":0,"PM 11:00":0,"AM 12:00":0}","store_hr_opt":"{"00:0C:66:20:0E:3A":{"AM 01:00":0,"AM 02:00":0,"AM 03:00":0,"AM 04:00":0,"AM 05:00":0,"AM 06:00":0,"AM 07:00":0,"AM 08:00":0,"AM 09:00":0,"AM 10:00":0,"AM 11:00":0,"PM 12:00":5,"PM 01:00":0,"PM 02:00":0,"PM 03:00":0,"PM 04:00":0,"PM 05:00":0,"PM 06:00":0,"PM 07:00":0,"PM 08:00":0,"PM 09:00":0,"PM 10:00":0,"PM 11:00":0,"AM 12:00":0}}"}"
我需要将此字符串转换为哈希值,但是当我使用此命令JSON.parse(list)时,我收到此错误 SyntaxError:意外的令牌A, 请有人帮帮我..
答案 0 :(得分:0)
我得到了几个替换的工作:
var list = '{"mins_spent_in_stor":"{"AM 01:00":0,"AM 02:00":0,"AM 03:00":0,"AM 04:00":0,"AM 05:00":0,"AM 06:00":0,"AM 07:00":0,"AM 08:00":0,"AM 09:00":0,"AM 10:00":0,"AM 11:00":0,"PM 12:00":273,"PM 01:00":0,"PM 02:00":30,"PM 03:00":0,"PM 04:00":0,"PM 05:00":0,"PM 06:00":0,"PM 07:00":0,"PM 08:00":0,"PM 09:00":0,"PM 10:00":0,"PM 11:00":0,"AM 12:00":0}","store_hr_opt":"{"00:0C:66:20:0E:3A":{"AM 01:00":0,"AM 02:00":0,"AM 03:00":0,"AM 04:00":0,"AM 05:00":0,"AM 06:00":0,"AM 07:00":0,"AM 08:00":0,"AM 09:00":0,"AM 10:00":0,"AM 11:00":0,"PM 12:00":5,"PM 01:00":0,"PM 02:00":0,"PM 03:00":0,"PM 04:00":0,"PM 05:00":0,"PM 06:00":0,"PM 07:00":0,"PM 08:00":0,"PM 09:00":0,"PM 10:00":0,"PM 11:00":0,"AM 12:00":0}}"}'.replace(/\"\{/g,"{").replace(/}\"/g,"}");
但这绝不是一个优雅或好的解决方案,只能在这个特定的输入上工作,如果你得到任何其他乱码的JSON字符串就会中断。
所以你应该真正修复数据来源。
http://jsonlint.com/是一个很好的工具,可以快速检查JSON是否有效。