繁体   English   中英

json解析包含特殊字符的字符串时发生意外的令牌错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM