如何使用 jackson 2 写入原始字符串
How to write to raw string with jackson 2
我想将对象写入原始 json 字符串。例如我有一个 class
class Tiger{
String name;
int age;
}
Tiger tiger = new Tiger("red", 12);
然后我用jackson的ObjectMapper写成string
ObjectMapper objectMapper = new ObjectMapper();
String result = objectMapper.writeValueAsString(tiger);
结果是:
"{"name":"red","age":12}"
但我想将对象写入原始 json 字符串,如下所示:
"{\"name\":\"red\",\"age\":12}"
我知道我们可以创建一个函数,通过添加“\”将普通字符串转换为原始字符串,但我想知道是否有更好的解决方案?
您可以再次将输出写为 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);
我想将对象写入原始 json 字符串。例如我有一个 class
class Tiger{
String name;
int age;
}
Tiger tiger = new Tiger("red", 12);
然后我用jackson的ObjectMapper写成string
ObjectMapper objectMapper = new ObjectMapper();
String result = objectMapper.writeValueAsString(tiger);
结果是:
"{"name":"red","age":12}"
但我想将对象写入原始 json 字符串,如下所示:
"{\"name\":\"red\",\"age\":12}"
我知道我们可以创建一个函数,通过添加“\”将普通字符串转换为原始字符串,但我想知道是否有更好的解决方案?
您可以再次将输出写为 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);