12
2014
09

Android移动开发中的json解析

Android 解析json要用到org.json包,所以要先引用

import org.json.*;

一、使用JSONObject,JSONArray构建json文本

// 假设现在要创建这样一个json文本
//  {
//      "name" : "ttcha.net", // 字符串
//      "age" : 28, // 数值
//      "address" : { "country" : "china", "province" : "jiangsu" }, // 对象
//      "phone" : ["13812341234", "13800001111"], // 数组
//      "married" : false // 布尔值
//  }
        try{
            JSONObject person = new JSONObject();
            //姓名
            person.put("name","ttcha.net");
            //年龄
            person.put("age",28);
            //地址
            JSONObject address = new JSONObject();
            address.put("country", "china");
            address.put("province", "jiansu");
            person.put("address", address);
            //电话
            JSONArray phone = new JSONArray();
            phone.put("13812341234").put("13800001111");
            person.put("phone", phone);
            //婚否
            person.put("married", false);
        } catch (JSONException ex){
            throw new RuntimeException(ex);
        }

二、使用JSONStringer构建json文本

        try{
            JSONStringer jsonText = new JSONStringer();
            jsonText.object();
            //
            //姓名
            jsonText.key("name");
            jsonText.value("ttcha.net");
            //年龄
            jsonText.key("age");
            jsonText.value(28);
            //地址
            jsonText.key("address");
            jsonText.object();
            jsonText.key("country");
            jsonText.value("china");
            jsonText.key("province");
            jsonText.value("jiangsu");
            jsonText.endObject();
            //电话
            jsonText.key("phone");
            jsonText.array();
            jsonText.value("13812341234").value("13800001111");
            jsonText.endArray();
            //婚否
            jsonText.key("married");
            jsonText.value(false);
            //
            jsonText.endObject();
            
        } catch(JSONException ex){
            //
        }

三、json文本解析类JSONTokener

JSONTokener jsonParser = new JSONTokener(JSON);
JSONObject person = (JSONObject)jsonParser.nextValue();
//System.out.println(JSON);
String xxx = person.getString("name");
Toast xx = Toast.makeText(MainActivity.this, xxx, Toast.LENGTH_LONG);
    xx.show();


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。