gpt4 book ai didi

java - 如何在 Java 中删除/忽略 JSON { 和 ] 之前的引号

转载 作者:太空宇宙 更新时间:2023-11-04 11:40:37 24 4
gpt4 key购买 nike

String param = "{\"a\":\"[\\\"x\\\",\\\"y\\\"]\",\"b\":\"{\\\"z\\\":1}\"}";

在我的例子中,{...} 和 [...] 由 "引用。JSON 将其整体视为字符串。

{
"a": "[\"x\",\"y\"]",
"b": "{\"z\":1}"
}

如何删除或忽略 {} 和 [] 周围的引号?我想要的结果是:

{
"a": [
"x",
"y"
],
"b": {
"z": 1
}
}

最佳答案

最安全的解决方案是使用 JSON 解析器来解析并重新序列化每个值。这是使用 Jackson 的示例:

String param = "{\"a\":\"[\\\"x\\\",\\\"y\\\"]\",\"b\":\"{\\\"z\\\":1}\"}";

ObjectMapper mapper = new ObjectMapper();
ObjectNode root = mapper.readValue(param, ObjectNode.class);
root.set("a", mapper.readTree(root.get("a").asText()));
root.set("b", mapper.readTree(root.get("b").asText()));
System.out.println(mapper.writeValueAsString(root));

输出:

{"a":["x","y"],"b":{"z":1}}

关于java - 如何在 Java 中删除/忽略 JSON { 和 ] 之前的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42828111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com