1. 程式人生 > >Android開發將List轉化為JsonArray和JsonObject

Android開發將List轉化為JsonArray和JsonObject

客戶端需要將List<Object>轉化為JsonArray和JsonObject的方法:

首先,List中的Object的屬性需要是public:

class Person
{
     public String name;
     public String sex;
     public int age;
}

下面假設有List<Person> personList = new ArrayList<Person>(); 中已經裝載好了資料:

JSONArray jsonArray = new JSONArray();
JSONObject jsonObject = new JSONObject();
JSONObject tmpObj = null;
int count = personList.size();
for(int i = 0; i < count; i++)
{
     tmpObj = new JSONObject();
     tmpObj.put("name" , personList.get(i).name);
     tmpObj.put("sex", personList.get(i).sex);
     tmpObj.put("age", personList.get(i).age);
     jsonArray.put(tmpObj);
     tmpObj = null;
}
String personInfos = jsonArray.toString(); // 將JSONArray轉換得到String
jsonObject.put("personInfos" , personInfos);   // 獲得JSONObject的String

jsonArray轉換的String如下:

[{"name": "mxd", "sex": "boy", "age": 12}, {"name": "Tom", "sex": "boy", "age": 23}, {"name": "Jim", "sex": "girl", "age": 20}]

jsonObject轉化的String如下:

{"personInfos": [{"name": "mxd", "sex": "boy", "age": 12}, {"name": "Tom", "sex": "boy", "age": 23}, {"name": "Jim", "sex": "girl", "age": 20}]}