2017-04-16 13 views
0

これを自分のオブジェクトに解析するのが苦労します。JSONをオブジェクトのリストにパースしようとしましたが

応答:

{ 
"status": "OK", 
"results": [ 
    { 
     "num_results": "102", 
     "members": [ 
      { 
       "id": "A000062", 
       "first_name": "George", 
       "office": "", 
       "phone": "", 
       "fax": "", 
       "state": "VT", 
       "lis_id": "" 
      }, 
      { 
       "id": "B000095", 
       "first_name": "Raymond", 
       "office": "", 
       "phone": "", 
       "fax": "", 
       "state": "CT", 
       "lis_id": "" 
      } 
     ] 
    } 
] 

}

デシリアライザクラス

public class MyDeserializer<Member> implements JsonDeserializer<Member> 
{ 
@Override 
public Member deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) 
     throws JsonParseException 
{  
    JsonElement content = je.getAsJsonObject().get("results"); 


     System.out.println("something"); 

    } 

JsonElementは次のようになります内容:

[{"num_results":"102","offset":"0","members":[ 
{"id":"A000062","first_name":"George","office":"","phone":"","fax":"","state" :"VT","lis_id":""}, 
{"id":"B000095","first_name":"Raymond","office":"","phone":"","fax":"","state":"ND","lis_id":""}]}] 

しかし、私はどこへ行くかわかりませんここからuへpとメンバーのコレクション誰も私を良い方向に向けることができますか?

+1

あなただけのJSONのマッピングを作成する必要があり、あなたはここでカスタムデシリアライザを必要としないようです。 –

答えて

0

thisのような生成ツールを試しましたか?

これの出力は次のようになります。

-----------------------------------com.example2.Member.java----------------------------------- 

package com.example2; 

import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

public class Member { 

@SerializedName("id") 
@Expose 
private String id; 
@SerializedName("first_name") 
@Expose 
private String firstName; 
@SerializedName("office") 
@Expose 
private String office; 
@SerializedName("phone") 
@Expose 
private String phone; 
@SerializedName("fax") 
@Expose 
private String fax; 
@SerializedName("state") 
@Expose 
private String state; 
@SerializedName("lis_id") 
@Expose 
private String lisId; 

public String getId() { 
return id; 
} 

public void setId(String id) { 
this.id = id; 
} 

public String getFirstName() { 
return firstName; 
} 

public void setFirstName(String firstName) { 
this.firstName = firstName; 
} 

public String getOffice() { 
return office; 
} 

public void setOffice(String office) { 
this.office = office; 
} 

public String getPhone() { 
return phone; 
} 

public void setPhone(String phone) { 
this.phone = phone; 
} 

public String getFax() { 
return fax; 
} 

public void setFax(String fax) { 
this.fax = fax; 
} 

public String getState() { 
return state; 
} 

public void setState(String state) { 
this.state = state; 
} 

public String getLisId() { 
return lisId; 
} 

public void setLisId(String lisId) { 
this.lisId = lisId; 
} 

} 
-----------------------------------com.example2.Members.java----------------------------------- 

package com.example2; 

import java.util.List; 
import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

public class Members { 

@SerializedName("status") 
@Expose 
private String status; 
@SerializedName("results") 
@Expose 
private List<Result> results = null; 

public String getStatus() { 
return status; 
} 

public void setStatus(String status) { 
this.status = status; 
} 

public List<Result> getResults() { 
return results; 
} 

public void setResults(List<Result> results) { 
this.results = results; 
} 

} 
-----------------------------------com.example2.Result.java----------------------------------- 

package com.example2; 

import java.util.List; 
import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

public class Result { 

@SerializedName("num_results") 
@Expose 
private String numResults; 
@SerializedName("members") 
@Expose 
private List<Member> members = null; 

public String getNumResults() { 
return numResults; 
} 

public void setNumResults(String numResults) { 
this.numResults = numResults; 
} 

public List<Member> getMembers() { 
return members; 
} 

public void setMembers(List<Member> members) { 
this.members = members; 
} 
+1

ジャクソンはクールですが、OPはGsonを使用しています... –

+0

あなたは正しいです、申し訳ありません。私はGsonの答えを更新しました。 –

+0

これは完璧です! – seerick

関連する問題