Android——JSON数据的使用
来源:互联网 发布:狼群算法源代码 编辑:程序博客网 时间:2024/06/15 21:17
本文是根据极客学院的相关课程学习的。
JSON:JavaScript对象表示法(JavaScript Object Notation),是储存和交换信息的语法
特点:
独立于语言和平台
具有自我描述性,更利于理解
轻量级的文本数据交换格式
语法:
数据在键:值对中
数据有逗号分隔
花括号保存对象
方括号保存数组
值可以是
数字(整数或者浮点)、
字符串(用双引号)
Boolean
数组
对象
null
例如:
{ "category":"graphics", "shape": [ {"id": 1, "name": "triangle"}, {"id": 2, "name": "rectangle"}, {"id": 3, "name": "circle"} ]}
然后开始讲解怎么解析JSON数据:
首先我们先在assets文件里面新建一个data.json文件,里面的内容可以放置上面的示例代码
取得assets 文件夹里的data.json文件的内容,写入到StringBuffer里面
InputStream in=getResources().getAssets().open("data.json"); BufferedReader br=new BufferedReader(new InputStreamReader(in)); StringBuffer sb=new StringBuffer(); String str=""; while((str=br.readLine())!=null){ sb.append(str); } br.close(); in.close();
根据字符串创建JSONObject
JSONObject root=new JSONObject(sb.toString());
然后根据JSONObject 的get…(“key”)方法取得value数据
//获得键为"category"的值字符串,加入到TextView中显示 tv.append("category="+root.getString("category")+"\n"); //获得JSONArray数组 JSONArray arr=root.getJSONArray("shape"); for(int i=0;i<arr.length();i++){ JSONObject shape= (JSONObject) arr.get(i); tv.append("id="+shape.getInt("id")+"\n"); tv.append("name="+shape.getString("name")+"\n"); }
运行如图:
JSON的创建
新建一个JSONObject对象
JSONObject root=new JSONObject();
添加一个键值对数据
//root.put("key",value);root.put("category","graphics");
接下来要为root添加一个数组,先创建JSONArray数组
JSONArray arr = new JSONArray(); //往数组里面添加JSON对象 JSONObject shape1 = new JSONObject(); shape1.put("id", 1); shape1.put("name", "triangle"); JSONObject shape2 = new JSONObject(); shape2.put("id", 2); shape2.put("name", "rectangle"); JSONObject shape3 = new JSONObject(); shape3.put("id", 3); shape3.put("name", "circle"); //将JSONObject对象加入到数组中 arr.put(shape1); arr.put(shape2); arr.put(shape3); //将JSON数组加入到root中 root.put("shape",arr); Toast.makeText(MainActivity.this, root.toString(), Toast.LENGTH_SHORT).show();
运行程序:
0 0
- Android——JSON数据的使用
- Android中json操作数据的使用
- Android解析Json数据(二)—使用反射机制
- Android解析数据—JSON格式数据
- JSON数据 与 JSON数据的使用
- Android中JSON数据使用
- 【Android】Retrofit的使用(2)-使用Retrofit提交JSON数据
- android JSON数据详细——真的很详细
- <Android学习笔记五>——JSON数据的解析
- Android基础——JSON数据的全方位解析
- Android基础——JSON数据的全方位解析
- Android基础——JSON数据的全方位解析
- 【C++】JSON数据解析——jsoncpp的使用
- 【C++】JSON数据解析——jsoncpp的使用
- JSON数据解析——jsoncpp的使用(上)
- 【C++】JSON数据解析——jsoncpp的使用
- android 将数据转换成JSON数据格式并使用JSONObject解析JSON格式的数据
- 从零开始搞懂Android网络请求——JSON数据的解析与Gson框架的使用
- Java内存回收机制(第五讲)
- spark安装
- 2015年语音识别文献阅读报告
- Hander,多线程传递数据
- Scala读书笔记之 Chapter 5、6、7(类,对象,包)
- Android——JSON数据的使用
- android圆角矩形的view实现(转载)
- Android动画精讲一:从setTranslationX谈属性动画和view动画的区别
- PowerShell 之 CA Server
- 整理 collectionView 水平自定义布局
- Volley
- 2.ubuntu14.04 配置 jdk 8 环境变量
- 【有感】——困境之后的井喷
- kmeans聚类算法及matlab实现