我有包含非法字符的json
{"message":"A"B",
"fromWhom":"53"}
我想要从服务器spring发送到客户端的明文,这样客户端就可以获得完整的数据。
如何将字符串的非法字符替换为有效的json对象?
我认为你需要逃避引用。
{
"message": "A\"B",
"fromWhom": "53"
}
至于更改值。我想你需要知道。作语法分析
示例:
<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>
这是有效的:
{
"message": "A B",
"fromWhom": "53"
}
你有浮动引号的原因吗?
此外,此资源对于验证JSON非常有用。
http://jsonlint.com/
我希望这就是你问题的答案。
编辑:
如果必须使用双引号,则可以如下所示对其进行转义,它将是有效的。
{
"message": "A\"B",
"fromWhom": "53"
}
问题内容: 我正在尝试从Web服务器读取.json文件。 我从服务器接收到的JSON在http://jsonlint.com/上报告无效: 它显示以下测试结果: 在使用PHP解析之前,如何将其转换为VALID JSON? 问题答案: 所有键(preOpen,preClose等)都必须是字符串,因此它们需要用双引号引起来。 ===更新=== 如果您的Json-String无效,则可以使用以下脚本对其
问题内容: 我有一个无效的json字符串,如下所示, 我尝试使用JSON.parse将其转换为对象。但是,这不是有效的json字符串。是否有任何函数可以将这种无效格式转换为有效的json字符串或直接转换为对象? 问题答案: 如果您的示例语法与真实JSON相同,则JSONLint表示您需要对名称和值使用双引号。 仅在这种情况下,请使用以下替换调用: 但是,您首先应该尝试使用有效的Json。
问题内容: 以下代码使用和将转换为JSON字符串。 有没有更快的方法? 有没有一种方法可以使用更少的内存? 问题答案: 由于JIT编译器只是分支和基本测试,因此它可能会使其变得非常快。您可以通过对回调进行HashMap查找来使其更加优雅,但我怀疑这样做会更快。至于记忆,这是非常苗条的。 我以某种方式怀疑此代码实际上是内存或性能的关键瓶颈。您有真正的理由尝试对其进行优化吗?
问题内容: 我最近使用的Train status API在JSON对象中添加了两个额外的键值对,这导致我的脚本崩溃。 这是字典: 毫不奇怪,我得到了以下错误: 如果我没记错的话,我认为这是因为JSON响应中的布尔值是/,而Python可以识别/ 。有什么办法解决吗? PS:我尝试将的JSON响应转换为字符串,然后将其转换回布尔值,结果发现如果字符串中有任何字符,我总会得到一个值。我有点卡在这里。
我试图写一个规范来使用jolt转换完成下面的转换。我需要将平面JSON转换成嵌套JSON。 输入数据: 我在将平面JSON转换为嵌套JSON时遇到了一些问题。这里,我希望基于stoptype属性聚合数据,并且需要针对唯一的有效负载进行聚合。我用https://jolt-demo.appspot.com来测试以下内容。 输出: 你能帮我完成这个预期的输出吗?
问题内容: 我的网站服务正在将DateTime返回到jQuery调用。服务以以下格式返回数据: 如何将其转换为JavaScript友好的日期? 问题答案: 返回的时间是自纪元以来的毫秒数。您可以这样做: 有关如何精确设置日期格式的信息,请参见完整参考。 您可以通过解析整数来去除非数字: 或应用以下正则表达式(来自注释中的Tominator):