簡體   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