【问题标题】:Json.parse error with inverted comma带引号的 Json.parse 错误
【发布时间】:2013-07-04 09:56:03
【问题描述】:

我正在使用 JSON.parse() 函数在我的论坛中处理问题和答案(存储在某处)。 对于像

这样的回应
response = {"Q":"What is PHP","reply":"Google it"}

它工作正常,但如果用户输入带有引号的内容,我会遇到问题 例如

response = {"Q":"What is PHP","reply":"Google **"what is php"**"}

我将如何逃避那些引号?

【问题讨论】:

  • 我猜你的意思是 引号 带有“反逗号”?顺便说一句,如果响应确实是{"Q":"What is PHP","reply":"Google "what is php""},那么您的 JSON 无效。如果您从他开始创建有效的 JSON,那么您不会有问题。这意味着您应该使用该语言提供的方法来生成 JSON(例如 json_encode),而不是“手动”创建它。
  • 感谢 Felix,json_encode 解决了我的问题。我是手动创建 JSON,所以我无法自动转义引号......

标签: php json string parsing


【解决方案1】:

在任何嵌入的双引号前加上反斜杠:

response = {"Q":"What is PHP","reply":"Google \"what is php\""}

【讨论】:

    【解决方案2】:

    从 javascript 使用 encodeUriComponent 从 php 使用 urlencode

    【讨论】:

      【解决方案3】:

      逃跑

      response = {"Q":"What is PHP","reply":"Google **\"what is php\"**"}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-26
        • 2016-02-28
        • 1970-01-01
        • 2017-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多