簡體   English   中英

使用Gson無法反序列化具有List的對象

[英]Failed to deserialize an object having List using Gson

我正在嘗試將JSON字符串反序列化為Java對象,但是出現以下異常:

給定類型類java.util.ArrayList,JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@306a30c7無法反序列化json對象[“ 93”]

我的主文件:

public static void main(String[] args) throws IOException {
    String s = "{\"intents\":[\"93\"],\"_id\":\"frequestQueries\"}";
    Gson gson = new Gson();
    JavaObject a = gson.fromJson(s, JavaObject.class);
    System.out.println(a);

應該表示JSON的類是:

public class JavaObject {

    public ArrayList intents;
    private String _id ;

    public JavaObject(){
        intents = new ArrayList();
        intents.add(93);
        _id = "frequestQueries";
    }
}

我嘗試了類似的例外情況下在SO上給出的解決方案,但我無法找出確切的原因。 我嘗試了這個,但是似乎沒有給出具體的解決方案。 我的Gson版本是1.4。

編輯:我已經將我的Gson更新為2.8.0,並且異常消失了。

我張貼解決我自己的問題,因為許多人使用Arraylist中GSON反序列化像這樣一個同樣的問題進行了痛苦。 只需更新Gson版本,它將解決Gson deserialization問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM