您的位置:首页 > Web前端 > JavaScript

JSON的用法

2015-10-23 13:16 316 查看


原文:点击打开链接


JSON解析类:

{  
     "phone" : ["12345678", "87654321"], // 数组  
      "name" : "yuanzhifei89", // 字符串  
      "age" : 100, // 数值  
      "address" : { "country" : "china", "province" : "jiangsu" }, // 对象  
      "married" : false // 布尔值  
  }  

JSON 数据的书写格式是:名称/值对。名称主要是用加“”的字符串表示,值可以是多种格式,{}里面的是一个对象,对象由名称和值两部分组成,冒号前面的是名称,后面的是值。[]里面的是一个数组,数组里面只有值


将字符串保存成JSON格式

保存成这种JSON格式{“uc”:”用户代码”,”psw”:”用户密码”,“type”:”01”,”data”:[{“time”:””,”value”:””},{“time”:””,”value”:””},{“time”:””,”value”:””}]}
123456789101112131415161718JSONObject jsonObject = null;        try {            jsonObject = new JSONObject();//最外面是一个对象,所以创建一个JSON对象            jsonObject.put("uc", usname);            jsonObject.put("psw", password);            jsonObject.put("type", type);            JSONArray object = new JSONArray();//“data”的值中是一个数组,所以创建一个JSONArray数组            for (int i=0;i<2;i++){                JSONObject json = new JSONObject();//数组中的是JSON对象                json.put("time","2015-12-10-103");                json.put("value",2);                object.put(json);            }            jsonObject.put("data",object);        } catch (JSONException e) {            e.printStackTrace();        }如果是对象就用JSONObject来接收,如果是数组就用JSONArray来接收,一层一层在里面放数据 
try {      // 首先最外层是{},是创建一个对象      JSONObject person = new JSONObject();      // 第一个键phone的值是数组,所以需要创建数组对象      JSONArray phone = new JSONArray();      phone.put("12345678").put("87654321");      person.put("phone", phone);        person.put("name", "yuanzhifei89");      person.put("age", 100);      // 键address的值是对象,所以又要创建一个对象      JSONObject address = new JSONObject();      address.put("country", "china");      address.put("province", "jiangsu");      person.put("address", address);        person.put("married", false);  } catch (JSONException ex) {      // 键为null或使用json不支持的数字格式(NaN, infinities)      throw new RuntimeException(ex);  }   

解析JSON数组:

{"data":[{"time":"","value":""},{"time":"","value":""}]}解析 

12345678910jsonObject = new JSONObject(syncResults);//最外面是对象,所以创建一个JSON对象                        JSONArray jsonArray = jsonObject.getJSONArray("data");//对象名称为“data”,它的值为一个数组,所以用JSONArray来接收                        for (int j = 0; j < jsonArray.length(); j++) {//数组里面有多个值,且值为对象,用for循环来循环接收                            JSONObject o = (JSONObject) jsonArray.get(j);//数组里面的对象,新创建一个对象                            String time = o.getString("time");                            String value = o.getString("value");                            Log.i("ggg", "下载-------" + tp + "time" + time + "value" + value);                            panduan(Integer.valueOf(tp), time, value);                        } 

 

12345678910jsonObject = new JSONObject(syncResults);//最外面是对象,所以创建一个JSON对象                        JSONArray jsonArray = jsonObject.getJSONArray("data");//对象名称为“data”,它的值为一个数组,所以用JSONArray来接收                        for (int j = 0; j < jsonArray.length(); j++) {//数组里面有多个值,且值为对象,用for循环来循环接收                            JSONObject o = (JSONObject) jsonArray.get(j);//数组里面的对象,新创建一个对象                            String time = o.getString("time");                            String value = o.getString("value");                            Log.i("ggg", "下载-------" + tp + "time" + time + "value" + value);                            panduan(Integer.valueOf(tp), time, value);                        } 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: