【问题标题】:How to write to raw string with jackson 2如何使用杰克逊 2 写入原始字符串
【发布时间】:2019-01-15 08:32:06
【问题描述】:

我想将一个对象写入原始 json 字符串。例如我有一节课

class Tiger{
    String name;
    int age;
}

Tiger tiger = new Tiger("red", 12);

然后我使用jackson的ObjectMapper将其写入字符串

ObjectMapper objectMapper = new ObjectMapper();
String result = objectMapper.writeValueAsString(tiger);

结果是:

 "{"name":"red","age":12}"

但我想将对象写入原始 json 字符串,如下所示:

"{\"name\":\"red\",\"age\":12}"

我知道我们可以创建一个函数来通过添加“\”将普通字符串转换为原始字符串,但我想知道有没有更好的解决方案?

【问题讨论】:

  • 问题写得很好!

标签: java jackson2


【解决方案1】:

您可以再次将输出写为 json,这将使其转义:

String result = objectMapper.writeValueAsString(
                      objectMapper.writeValueAsString(tiger));
//outputs: "{\"name\":\"red\",\"age\":12}"

【讨论】:

    【解决方案2】:

    在这里您可以找到解决方案

    String result ="";
            try {
                result = objectMapper.writeValueAsString(objectMapper.writeValueAsString(tiger));
            } catch (JsonProcessingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(result);
    

    【讨论】:

    • 对不起,我写答案时没有刷新页面,你只是发布答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 2018-10-19
    相关资源
    最近更新 更多