私がこれまでに行ったことは次のとおりです。この形式のjsonオブジェクトを作成しました:
{
"checklist":
{
"id": "1",
"name": "shoppping",
"desc":"description",
"is_editable":"false",
"item": [
{"id":"3","value": "dfdf", "desc": "wwe"},
{"id":"3","value": "dfdf", "desc": "wwe"},
{"id":"3","value": "dfdf", "desc": "wwe"}
]
}
}
次のコードを使用します。
public static void sendjsontourl(String id) throws JSONException, IllegalStateException, IOException
{
String title;
String desc;
String creator;
Boolean is_editable;
String[] itid;
String[] itname;
String[] itdesc;
Boolean[] itchk;
Integer count;
title=DBInterface.getlistname(id);
desc=DBInterface.getlistdesc(id);
creator=DBInterface.getlistcreartor(id);
is_editable=DBInterface.geteditablemode(id);
itid=DBInterface.getitemid(id);
itname=DBInterface.getitemname(id);
itdesc=DBInterface.getitemdesc(id);
itchk=DBInterface.readdataitem(id);
count=DBInterface.getitemcount(id);
JSONObject checklist = new JSONObject();
JSONObject obj = new JSONObject();
JSONArray item = new JSONArray();
JSONObject reqObj = new JSONObject();
for(int i=0; i<count; i++)
{
reqObj.put( "id",""+itid[i]);
reqObj.put( "value",""+ itname[i]);
reqObj.put( "desc", ""+itdesc[i] );
item.put( reqObj );
}
obj.put( "item", item );
obj.put("id",""+id);
obj.put("name",""+title);
obj.put("description",""+desc);
obj.put("creator",""+creator);
obj.put("is_editable",""+is_editable);
checklist.put("checklist",obj);
Log.d("log_tag",String.valueOf(checklist));
}
私の問題:uはjson配列を含むjsonオブジェクトを見ることができるので-アイテム..アイテムの値はすべてのアイテムで同じです...sqliteデータベースからのデータフェッチ部分は正しいです..私は何が問題なのか理解できませんそして、なぜ最後のインデックス値のみがjson配列に格納されるのですか?