2014-12-06 51 views
2

我想下面的JSONGSON fromJson的StackOverflowError

{ 
    "Id": "233ffba3-9796-4fff-32e3-535116e1297c", 
    "Content": "lorem ipsum", 
    "DateCreated": "2014-12-06T16:02:25Z", 
    "ChatId": "33485bff-a95f-4a19-982d-532364db384d", 
    "AccountId": "2da98191-c3de-49f0-a424-89ba7a0f448e", 
    "Internal": false, 
    "Quotation": false 
} 

解析這一類

public class Message extends Syncable<Message> implements Comparable<Message> { 

    public UUID Id; 
    public String Content; 
    public Date DateCreated; 
    public UUID ChatId; 
    public UUID AccountId; 
    public Boolean Internal; 
    public Boolean Quotation; 
    public Account Account; 
    public Chat Chat; 
    public Centipede<MessageRead> MessageRead; 

    public Message() { 
     this.MessageRead = new Centipede<MessageRead>(); 
    } 
} 

而得到這個奇怪的錯誤

java.lang.StackOverflowError 
     at java.nio.MappedByteBuffer.<init>(MappedByteBuffer.java:43) 
     at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:33) 
     at java.nio.DirectByteBuffer.copy(DirectByteBuffer.java:52) 
     at java.nio.DirectByteBuffer.duplicate(DirectByteBuffer.java:75) 
     at com.android.dex.Dex.open(Dex.java:191) 
     at com.android.dex.Dex$StringTable.get(Dex.java:893) 
     at com.android.dex.Dex$StringTable.get(Dex.java:890) 
     at java.lang.Class.getDexCacheString(Class.java:1334) 
     at libcore.reflect.AnnotationAccess.decodeValue(AnnotationAccess.java:731) 
     at libcore.reflect.AnnotationAccess.decodeValue(AnnotationAccess.java:705) 
     at libcore.reflect.AnnotationAccess.getSignature(AnnotationAccess.java:453) 
     at java.lang.Class.getGenericSuperclass(Class.java:824) 
     at com.google.gson.internal.$Gson$Types.getGenericSupertype($Gson$Types.java:249) 

昨天一切正常,並今天,在Android Studio更新後,我收到了這個錯誤。

回答

0

可能是你GSON庫更新後失蹤 試試這個

1)將GSON罐子(在我的情況,GSON-2.2.4.jar)到libs文件夾

2)右鍵單擊它並擊中'Add as library'

3)確保compile files('libs/gson-2.2.4.jar')在你build.gradle文件

4)做一個乾淨的BUIL

+0

他們不會缺少... Gson更新...試圖解析測試類,它適用於非常簡單的情況...仍然不知道這個問題發生的地方...;( – 2014-12-08 23:07:21

0

嘗試從UUID更改爲字符串,看看是否有效。

+0

不,問題不會隨字符串而改變,而不是UUID。 – 2014-12-08 23:05:20