[英]Remove double quotes from JSON String
我在JSON字符串下面:
{ "students" : "[ {\"studentId\" : \"A1\",\"studentNumber\"
: \"287\",\"studentType\" : \"FullTime\"} ]" }
为了在java对象中反序列化这个字符串,我要删除\\可以使用字符串替换方法来完成。 除此之外,在[及之后]之前也有双引号。 如何在使用Jackson反序列化时删除这些双引号或允许它们。
你不必自己动手,杰克逊会照顾它。 创建一个pojo类学生,你可以写下面的东西:
ObjectMapper mapper = new ObjectMapper();
Student student = mapper.readValue(responseBody, Student.class);
尝试将"[
with [
and ]"
替换为]
json = json.replaceAll("\\"\\\\[","[");
json = json.replaceAll("\\\\]\\"", "]");
与ObjectMapper
一样,我们也可以将Gson
用于相同的目的。
Gson gson = new Gson();
gson.fromJson(responseBody, Student.class);
public class StringTypeSerializationAdapter extends TypeAdapter<String> {
public String read(JsonReader reader) {
throw new UnsupportedOperationException();
}
public void write(JsonWriter writer, String value) throws IOException {
if (value == null) {
writer.nullValue();
return;
}
writer.jsonValue(value);
}
}
上面使用GSON字符串适配器从字符串中删除引号
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.