繁体   English   中英

gson从json值中的逗号分隔值字符串中解析项目

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

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