java - 当双引号出现在键/值中时 JSON 被破坏
问题描述
样本数据:
{"630":{"TotalLength":"33-3/8" - 36-3/4""},"631":{"Length":"34 37 7/8"}}
我们在 JSON 响应中面临双引号问题。我们如何将双引号替换为键或值内部的“\”“?Java 是开发平台。
解决方案
这个答案假设您无法控制创建这个类似 JSON 的字符串。如果你可以控制那部分,那么你应该在那里正确地逃跑。
在这种情况下,由于系统地解析不是一个选项,因为它还不是一个有效的 JSON,我所能建议的就是检查各种字符串,看看你是否能找到一个模式,你可以在其上应用一些逻辑并转义所有"
s这会阻止字符串成为有效的 JSON。
这可能是一种开始的方式:
"
字符串成为有效 JSON 所需的所有s 都被一个或多个字符包围,其中包括{
、:
、,
和,和其他 JSON 字符}
之间有或没有空格。"
因此,如果您使用 Java 解析类似 JSON 的字符串并查找所有"
s,并且当遇到一个时,如果它们与上述任何字符(之间有或没有空格)一起,您只需将其保留为它是。如果没有,请将其替换"
为\"
.
请注意,上述方法可能有效,也可能无效,具体取决于相关数据。我的意思是,如果在创建字符串期间绝对没有办法对字符串进行转义,并且如果这些字符串对未转义的 s 遵循严格的模式,您可能会发现这种方法很有用"
。
推荐阅读
- ios - 如何取消所有 Alamofire 请求?
- r - 是否可以在 R 中同时运行两个 while 循环?
- ios - 如何使用 Swift 从 QLPreviewController 中删除顶部不需要的空间
- r - 比较两行的快速方法
- php - 如何在 Opencart 上仅对一个自定义字段进行验证 - 已解决
- jenkins - 错误:无法在 jenkins 输出控制台中更新 svn repo
- django-models - ValueError:无法分配“''”:“”必须是“”实例。错误
- python - pyCharm 未解决的参考语法高亮显示
- python - 如何用另一个类引用一个类列表?
- javascript - “x 不是构造函数”错误,但在其他文件中正常调用