[英]gson parse items from comma-separated-value string within a json value
我正在使用gson
解析json
字符串。 与此类似:
{
"ACode": "aa",
"RCode": "rr",
"Errors": "e1,e2,e3"
}
我认为错误应该是一个正确的json
数组,但是我对此没有控制权。
我想将错误放入java
的数组或集合中。 使用String.split
和逗号作为分隔符,这很容易。 但是我是gson
,我不知道我是否会忽略它提供的功能,该功能可以解析逗号分隔的字符串。
有人知道gson
是否可以自动处理吗?
我想将错误放入Java的数组或集合中。
试试这个
String json = "{\"ACode\": \"aa\",\"RCode\": \"rr\", \"Errors\": \"e1,e2,e3\" }";
class ErrorsDeserializer implements JsonDeserializer<String[]> {
public String[] deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
return ((JsonObject) json).getAsJsonPrimitive("Errors").getAsString().split(",");
}
}
Gson gson1 = new GsonBuilder().registerTypeAdapter(String[].class, new ErrorsDeserializer())
.create();
String[] errors = gson1.fromJson(json, String[].class);
for (String error : errors) {
System.out.println(error);
}
您可以使用变量“ ACode”,“ RCode”,“ Errors”创建一个类,然后使用gson将其转换为该类。CustomObject obj2 = gson.fromJson(json,CustomObject .class);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.