客戶端需要將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}]}