我有几个字符串,每个字符串都包含对象数组的 JSON 表示形式。这是一个代码示例来说明,尽管这不是我的实际代码(传入的 JSON 字符串):
String s1 = "[{name: "Bob", car: "Ford"},{name: "Mary", car: "Fiat"}]";
String s2 = "[{name: "Mack", car: "VW"},{name: "Steve", car: "Mercedes Benz"}]";
我需要将这两个 JSON 数组组合成一个大的 JSON 数组。我可以将其视为字符串操作问题并用逗号替换内部结束方括号,但这不是特别可靠(尽管我保证获得有效的 JSON)。
我宁愿将这两个字符串视为 JSON 数组,然后以某种方式将它们加在一起。这是一个很棒的计划,只是我不知道“不知何故”的部分。
有谁知道不需要构造 JSON 对象的 Java 对象表示的 Java 解决方案?
谢谢!
原文由 Paul 发布,翻译遵循 CC BY-SA 4.0 许可协议
您实际上只有两个选择:解析 JSON(这总是涉及构建对象)或不解析 JSON。当然,不解析会更便宜。
乍一看,您将其视为字符串操作问题的想法听起来很脆弱,但我想得越多,就越觉得它很有道理。对于错误检测,您可以通过检查方括号轻松确认您确实在处理数组;之后,只需去掉结尾的括号,添加一个逗号,去掉开头的括号,然后添加“尾巴”就可以完美地工作了。我能想到的唯一例外是,如果任一数组为空,您应该只返回另一个 String 不变;同样,这很容易作为字符串进行检查。
我真的不认为有任何理由让它比这更复杂。