【问题标题】:convert from invalid to valid json [duplicate]从无效转换为有效 json [重复]
【发布时间】:2016-11-20 02:42:13
【问题描述】:

我有包含非法字符的 json

{"message":"A"B",
  "fromWhom":"53"}

我想要从服务器spring发送到客户端的明文,以便客户端可以获得完整的数据。

如何将字符串中的非法字符替换为有效的 json 对象?

【问题讨论】:

  • @davidhxxx 标志,留下评论不会通知任何版主。
  • @kryger 好的,我会阅读帮助 :)

标签: javascript java json


【解决方案1】:

我认为您需要转义引用。

    {
    "message": "A\"B",
    "fromWhom": "53"
    }

至于改变价值。我认为你需要 JSON.parse。

例子:

<script>
var text = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}';

obj = JSON.parse(text);
obj.employees[1].lastName = "Timmy" //Value change here
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>

【讨论】:

  • 但是如果它是 javascript 中的字符串,我该如何更改此值?
  • 如果这是你的发现,请接受这个作为你的答案:D
【解决方案2】:

这是有效的:

{
"message": "A B",
"fromWhom": "53"
}

你有一个浮动引号是有原因的吗?

此外,此资源对于验证 JSON 很有用。

http://jsonlint.com/

我希望这是您问题的答案。

编辑:

如果一定要使用双引号,那么可以如下图进行转义,这样才有效。

{
"message": "A\"B",
"fromWhom": "53"
}

【讨论】:

  • 我想用双引号,数据是A"B,但是我不能用这个字符,这是我的问题。
  • 但是如果它是 javascript 中的字符串,我该如何更改这个值?
  • 当您使用反斜杠时,只会出现引号。所以你的字符串应该看起来像 A"B。
猜你喜欢
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多