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); }
相关文章推荐
- js基础-表单验证和提交
- Javascript 严格模式详解
- 【Miaov】JS3-自定义属性、索引值
- javascript跨域的方法汇总
- JS 函数参数
- 你不知道的JavaScript--Item20 作用域与作用域链(scope chain)
- 你不知道的JavaScript--Item20 作用域与作用域链(scope chain)
- js刷新框架子页面的七种方法
- jsTree简单使用说明(适用于做权限)
- JavaScript代码轻松实现网页内容禁止复制(代码简单)
- 你不知道的JavaScript--Item2 浮点数精度
- 你不知道的JavaScript--Item2 浮点数精度
- 如何用JavaScript在浏览器端获取图片的原始尺寸大小?
- 你不知道的JavaScript--Item19 执行上下文(execution context)
- Javascript 取小数点后面N位
- 你不知道的JavaScript--Item19 执行上下文(execution context)
- 刷新页面Js
- Javascript规范
- curl向web服务器发送json数据
- 深入浅析javascript立即执行函数