Android json解析简单示例
来源:互联网 发布:雇一次网络水军多少钱 编辑:程序博客网 时间:2024/05/22 03:39
本文讲解JSON简单的使用(使用Android 提供的相关API)
代码完成功能:创建文件,并且写入JSON文件,最后读取JSON文件并且解析。
1、设置AndroidManifest.xml的SD卡访问权限
用于之后创建文件和写入(与application同级)
<!-- 在SDCard中创建与删除文件权限 --><uses-permission android:name= "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 往SDCard写入数据权限 --><uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" />
2、获取json文件路径
filePath = Environment.getExternalStorageDirectory().toString()+"/test.json";
3、创建JsonWriter并且写入数据
FileOutputStream fileOutputStream = new FileOutputStream(filePath);//开始写JSON数据JsonWriter jsonWriter = new JsonWriter(new OutputStreamWriter(fileOutputStream, "UTF-8"));jsonWriter.beginObject();//第一组数据jsonWriter.name("id").value("1");jsonWriter.name("name").value("王辰浩");//第二组数据jsonWriter.name("id").value("2");jsonWriter.name("name").value("陆莉");jsonWriter.endObject();jsonWriter.close();System.out.println("JSON数据写入完毕!");
4、读取数据
// 开始读JSON数据System.out.println("开始读取JSON数据");fileInputStream = new FileInputStream(filePath);//创建FileInputStreamJsonReader jsonReader = new JsonReader(new InputStreamReader(fileInputStream, "UTF-8"));jsonReader.beginObject();while (jsonReader.hasNext()) { System.out.println(jsonReader.toString());//显示jsonReader的字符串 if (jsonReader.nextName().equals("id")) { System.out.println("id:" + jsonReader.nextString());//获得id相应内容 } if (jsonReader.nextName().equals("name")) { System.out.println("name:" + jsonReader.nextString());//获得name相应内容 }}jsonReader.endObject();jsonReader.close();
json解析补充教程【转载】
链接:http://yuanzhifei89.iteye.com/blog/1141385
文本解析类JSONTokener
String jsonString = "{\"id\":\"1\",\"name\":Michael},{\"id\":\"2\",\"name\":Mike},{\"id\":\"3\",\"name\":王辰浩}";JSONTokener jsonParser = new JSONTokener(jsonString);JSONObject person = null;do{ person = (JSONObject) jsonParser.nextValue();// 此时还未读取任何json文本,直接读取就是一个JSONObject对象。 System.out.println(person.getString("id"));//获取ID System.out.println(person.getString("name"));//获取姓名}while(jsonParser.next() != '\0');
存在数组版本
String jsonString = "{\"info\" :[{\"id\":\"1\",\"name\":Michael},{\"id\":\"2\",\"name\":Mike},{\"id\":\"3\",\"name\":王辰浩}]}";JSONTokener jsonParser = new JSONTokener(jsonString); //获取JSONTokenerJSONObject person = (JSONObject) jsonParser.nextValue();JSONArray jsonArray = person.getJSONArray("info");//获取JSONArray int length = jsonArray.length(); for(int i = 0; i < length; i++){ person = jsonArray.getJSONObject(i); //获取JSONObject System.out.println(person.getString("id")); //显示ID System.out.println(person.getString("name")); //显示name}
0 0
- android json 解析 简单示例
- Android json解析简单示例
- 生成Json、解析Json的简单示例
- Android JSON解析示例代码
- PHP+ANDROID+JSON简单示例
- [Android实例] Android JSON解析示例代码
- android json 解析简单实例
- Android:json及xml解析示例
- 【json】android json解析及简单例子
- Andorid 3种Json解析框架简单示例
- Json解析示例
- JSON多层解析示例
- JSON解析示例
- 编程资料:C#简单解析Json数据示例附开源json解析类
- android json解析及简单例子
- android json解析及简单例子
- android json解析及简单例子
- android json解析及简单例子
- Eclipse中的快捷键
- 元组
- shell comand
- 常见的java基础问题总结
- qt设置控件的ICON
- Android json解析简单示例
- 虎哥带你学自定义View(三)
- 150. Evaluate Reverse Polish Notation
- this--1
- VRP网络操作系统简介
- Java语言泛型--->通配符
- C语言数组三
- 2016.4.24
- Liferay portal 6.1项目搭建及部署注意事项