如何使用jackson 2写入原始字符串

我想将一个对象写入原始 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}"

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


饮歌长啸
浏览 138回答 2
2回答

收到一只叮咚

您可以再次将输出编写为 json,这将使其转义:String result = objectMapper.writeValueAsString(                      objectMapper.writeValueAsString(tiger));//outputs: "{\"name\":\"red\",\"age\":12}"

富国沪深

在这里您可以找到解决方案String result ="";        try {            result = objectMapper.writeValueAsString(objectMapper.writeValueAsString(tiger));        } catch (JsonProcessingException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        System.out.println(result);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java