繁体   English   中英

如何使用 Jackson 的 object 映射器解析 JSON 字符串以删除双引号?

[英]How can I parse the JSON string using Jackson's object mapper to remove the double quotes?

在我实施以下方法来删除引号之前,我得到的值是有引号的,例如,如果我正在比较 2 个应该相同的字符串,一个来自逻辑,1 个来自它正在评估的 JSON 字符串

""Tulip"".equals("Tulip");

其中 ""Tulip"" 的字符串值来自 JSON object 映射器解析。

删除引号并解析 json 的方法:

public String parseJsonFindValueAndRemoveQuotes(String jsonString, String aValue) throws JsonProcessingException {
        String valueWithQuotes = String.valueOf(objectMapper.readTree(jsonString).findValue(aValue));
        System.out.println(valueWithQuotes);
        // Removing first and last character
        // of a string using substring() method
        String value = valueWithQuotes.substring(1, valueWithQuotes.length() - 1);
        System.out.println(value);

        return value;
    }

有什么办法可以删除此方法并简单地自动使 Jackson 删除任何多余的双引号?

谢谢

我认为你应该在使用映射器之前准备好你的 JSON 字符串。 执行以下操作:

yourJsonString.replaceAll("\"\"", "\"")...etc

PS 也可以在映射器结果接收后使用此建议来规范化结果字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM