[英]Unexpected token error while json parsing for string containing special characters
在尝试在Titan Studio for mobile应用程序项目上解析以下字符串时,我得到了
错误:profileSkills上的意外令牌“:”分析
des='[{"jobId":0,"jobPositionName":"NA","companyId":0,"companyDisplayName":"NA","profileSkills":"Analysis\r\nAnalysis\r\nQuality Assurance\r\nProject Management\r\nProgrammer Analyst\r\n"}]';
desjson=JSON.parse(des);
任何人都可以帮助我,是否可以使用JSON解析包含转义字符的字符串。
如果没有,您能告诉我有关程序。
您需要使用双反斜杠对特殊字符进行编码,因为JSON解析器将期望对这些特殊字符进行转义。
var des='[{"jobId":0,"jobPositionName":"NA","companyId":0,"companyDisplayName":"NA","profileSkills":"Analysis\\r\\nAnalysis\\r\\nQuality Assurance\\r\\nProject Management\\r\\nProgrammer Analyst\\r\\n"}]';
如果实际上是将JSON 字符串声明为JavaScript字符串文字,则必须考虑以下事实:当JavaScript解析器看到这些转义的字符时,它将使用真实的回车符和换行符来构建一个字符串。 之后的JSON解析器将不喜欢它们。
如果,另一方面,你的JSON真的是从“上线”的服务器,则JSON未来不应该加倍反斜杠。
我还应注意,几乎没有任何理由将JSON字符串作为文字放入JavaScript代码中。 在大多数情况下,它也可能是JavaScript对象文字。 (我承认,当然可能有某些原因。)
字符串中有两个\\r\\
,应该为\\r\\n
。 更改它们,并验证为正确的JSON。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.