AndroidのJsonでリストを消費しようとしています。しかし、うまくリストが生成されていないと思い、Jsonで解析しようとするとエラーが出てしまいます。
私はこの結果を得ています:
[{"id":7,"word":"w6","definition":"d6","language":"es","numberDefinition":0,"success":false},{"id": 8,"単語":"w7\n","定義":"d7","言語":"es","数値定義":0,"成功":false},{"id":9,"単語":"w8","definition":"d8","language":"es","numberDefinition":0,"success":false}]
@GET
@Path("words")
@Produces(MediaType.APPLICATION_JSON)
public List<Word> getWords(@QueryParam("number") int number ) {
List<Word> list = null;
list = dictionary.getListWords(number);
return list;
}
Androidの私のJavaコードは次のとおりです。
respJSON = new JSONObject(response);
JSONArray lineItems = respJSON.getJSONArray("words");
listWords = new ArrayList<Word>();
for(int i=0; i<lineItems.length(); i++)
{
JSONObject obj = lineItems.getJSONObject(i);
id = obj.getInt(ConstantsTrivial.WORD_ID);
definition = obj.getString(ConstantsTrivial.WORD_DEFINITION);
language = obj.getString(ConstantsTrivial.WORD_LANGUAGE);
wordName = obj.getString(ConstantsTrivial.WORD_NAME);
numberDefinition = obj.getInt(ConstantsTrivial.WORD_NUMBER_DEFINITION);
word = new Word(id, wordName, definition, language, numberDefinition);
listWords.add(word);
}
「単語」を探しています。この間違いは知っていますが、Webサービスが正しい方法でリストを生成するために何をすべきかわかりません..
エラーは次のとおりです。
03-19 13:09:48.086: E/WebServiceTask(9868): 値 [{"numberDefinition":0,"id":1,"word":"w0","language":"ES","definition" :"d0","success":false},{"numberDefinition":0,"id":3,"word":"w2","language":"es","definition":"d2"," success":false},{"numberDefinition":0,"id":4,"word":"w3","language":"es","definition":"d3","success":false},タイプ org.json の {"numberDefinition":0,"id":9,"word":"w8","language":"es","definition":"d8","success":false}]。 JSONArray を JSONObject に変換できません
ありがとうございました。