繁体   English   中英

从JSON String中删除双引号

[英]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.

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