【问题标题】:jQuery and JSON issuejQuery 和 JSON 问题
【发布时间】:2017-06-16 15:02:46
【问题描述】:

当我给他一个这样的 JSON 字符串 (java) 时,我遇到了 jQuery 解析器的问题:

String JSONvalue = "[{"evaluationId":92688,"ResponseId":378501,"comment":"I can't do this ~!@#$%^&*()_+|}{\":?><\/.,;'[]\\=-0987654321`","rankingId":0}]";

当我将它传递给解析器(javascript)时,它看起来像这样:

var prevCommentsAndRankings =  jQuery.parseJSON('[{"evaluationId":92688,"ResponseId":378501,"comment":"I can't do this ~!@#$%^&*()_+|}{\":?><\/.,;'[]\\=-0987654321`","rankingId":0}]');

我收到无效标记的错误,这是因为 JSON 字符串上的 ' " 和 [ ]。我该如何处理它们,考虑到 JSON 中可能总是包含特殊字符。提前致谢!

【问题讨论】:

  • 你没有转义字符串中需要转义的字符
  • 不要自己构建 JSON。使用JSONArrayJSONObject
  • 这是JS 部分的正确转义字符串:'[{"evaluationId": 92688, "ResponseId": 378501, "comment": "I can\'t do this ~!@#$%^&amp;*()_+|}{\\":?&gt;&lt;\/.,;\'[]\=-0987654321`", "rankingId":0}]'
  • 感谢您的反馈,'" 和 \ 内部有问题,正确转义他们工作!

标签: javascript java jquery json


【解决方案1】:

对于任意字符串,在将其呈现为 JSON 之前和解析 JSON 之后,将引号替换为它的 HTML 实体 &amp;quot;。两者都是您可以在 Java 和 Javascript 中找到的常用函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2010-10-10
    • 2016-01-19
    相关资源
    最近更新 更多