2011-10-04 19 views
6

私はこれを理解できないようです。私はカップルの記事(herehere)を見てきましたが、私の状況はちょっと違います。動的JSONフィールドを解析するGSON

新しいTypeTokenを登録する必要があるかどうかわかりません。しかし、私のJSONオブジェクトは、次のようになります。私はこのように私のオブジェクトの両方を作成しました

{ 
    "id": 6, 
    "error": "0", 
    "dates": { 
     34234 : "2011-01-01" // I want to parse the date into a string. 
     87474 : "2011-08-09" // The first values are all unique. 
     .     //this can be any number of entries. 
     . 
     . 
     74857 : "2011-09-22" 
    } 
} 

public class Response { 

    public Integer id; 
    public String error; 
    public DateList dates; 
} 

別のファイル:

public class DateList { 

    public List<Map<Integer, String>> dateString; 
} 

私はわからない方法それを正しいものにするためにtweekしてください。ドキュメンテーションは役に立たないようです...そして私が見た他の例は、文字列型ではなくカスタムオブジェクトの解析です。

ありがとうございます!

+2

私はGSONが何であるか分かりませんが、 'List 'は少なくとも '>'がありません。また、マップではなく、マップのリストであるべきですか? – svens

+0

申し訳ありませんが、私はそのコードをコピーして貼り付けませんでした。助けてくれてありがとう! –

答えて

12

私はこの形でそれを試してみました:

箱から出して動作するように見え、JSON

{ 
    "id": 6, 
    "error": "0", 
    "dates": { 
     "34234" : "2011-01-01" 
     "87474" : "2011-08-09" 
     "74857" : "2011-09-22" 
    } 
} 

と、少なくともResponse.java

public class Response { 
    public Integer id; 
    public String error; 
    public Map<Integer, String> dates; 
} 

を。

+0

ありがとう!!私はそれが何か簡単だったことを知っていた! –

+0

私にも働きました。カスタムのTypeAdapterや何か魔法のようなものを書く必要があると思いました。 – squeeish

関連する問題