以下我个人理解总结。
在android 与服务器的交互数据通常用到json格式。
JSON分为JSONObject和JSONArray 。
冒号前表示关键字(属性),冒号后值,值可以是object和Array 两种。
总体来说就以上两点关键。
1.创建json
try {
// 首先最外层是{},是创建一个对象
JSONObject person = new JSONObject();
// 第一个键phone的值是数组,所以需要创建数组对象
JSONArray phone = new JSONArray();
phone.put("12345678").put("87654321");
person.put("phone", phone);
person.put("name", "farina");
person.put("age", 100);
// 键address的值是对象,所以又要创建一个对象
JSONObject address = new JSONObject();
address.put("country", "china");
address.put("province", "shanghai");
person.put("address", address);
} catch (JSONException ex) {
// 键为null或使用json不支持的数字格式
throw new RuntimeException(ex);
}
2.读取json
//获取电话号码
if(person.has("phone")) {
JSONArray phone = person.getJSONArray("phone");
String phone1 = phone.get(0).toString();
String phone2 = phone.get(1).toString();
}
//获取名字
if(person.has("name")) {
String name = person.getString("name");
}
//获取年龄
if(person.has("age")) {
String age = person.getString("age");
}
//获取地址
if(person.has("address")) {
JSONObject address = person.getJSONObject("address");
String country = address.getString("country");
String province = address.getString("province");
}