Android读写JSON格式的数据之JsonWriter和JsonReader
来源:互联网 发布:串口发送接收数据原理 编辑:程序博客网 时间:2024/05/17 02:37
最近的好几个月都没有搞Android编程了,逐渐的都忘却了一些东西。最近打算找一份Android的工作,要继续拾起以前的东西。公司月初搬家之后就一直没有网络,直到今日公司才有网络接入,各部门才开始办公。不说这些了,下面开始今天的正文。
JSON格式的数据通常用于网络传输,尤其是在移动设备上与服务端进行数据交互。JSON与XML比较有明显的优势。XML格式的数据非常臃肿,传递少量的数据就要附带很多额外的格式数据。而JSON除了少量的符号外,全部是真正的数据,所以有越来越多的程序用JSON来取代XML。JSON格式的数据不仅被广泛应用于网络传输,也经常用于本地存储。
JSON格式的数据可以存储数组和对象。数组用一对中括号([……])表示,对象用一对大括号({……})表示。数组和对象可以嵌套,例如,下面是一个用JSON表示的对象数组:
[{id:1,name:”Android将军”},{id:2,name:”Android将军”}]
Android SDK用于读写JSON格式数据的类是JsonReader和JsonWriter。这两个类可以处理数组和对象,处理数组的代码必须放在beginArray和endArray方法之间,处理对象的代码必须放在beginObject和endObject之间。
这里给出一个读写JSON文件案例,主Activity代码如下:
package com.gc.androidjsonpractice;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import android.os.Bundle;import android.os.Environment;import android.annotation.SuppressLint;import android.app.Activity;import android.graphics.Paint.Join;import android.util.JsonReader;import android.util.JsonWriter;import android.widget.Toast;/** * 功能:复习与练习Json的使用一 * * @author Android将军 * */@SuppressLint("NewApi")public class MainActivity extends Activity {private String filePath;private FileOutputStream fileOutputStream;private FileInputStream fileInputStream;@SuppressLint({ "NewApi", "SdCardPath" })@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//json文件存放路径filePath = Environment.getExternalStorageDirectory().toString()+ "/test.json";System.out.println("filePath:" + filePath);//查看实际路径try {fileOutputStream = new FileOutputStream(filePath);@SuppressWarnings("resource")//开始写JSON数据JsonWriter jsonWriter = new JsonWriter(new OutputStreamWriter(fileOutputStream, "UTF-8"));jsonWriter.beginObject();jsonWriter.name("id").value("1");jsonWriter.name("name").value("Android将军");jsonWriter.endObject();System.out.println("JSON数据写入完毕!");jsonWriter.close();// 开始读JSON数据System.out.println("开始读取JSON数据");fileInputStream = new FileInputStream(filePath);@SuppressWarnings("resource")JsonReader jsonReader = new JsonReader(new InputStreamReader(fileInputStream, "UTF-8"));jsonReader.beginObject();System.out.println("哈哈:"+jsonReader.toString());while (jsonReader.hasNext()) {if (jsonReader.nextName().equals("id")) {System.out.println("id:" + jsonReader.nextString());}if (jsonReader.nextName().equals("name")) {System.out.println("name:" + jsonReader.nextString());}}jsonReader.endObject();jsonReader.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
程序运行结果如下:
转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/38730207
0 0
- Android读写JSON格式的数据之JsonWriter和JsonReader
- Android读写JSON格式的数据之JsonWriter和JsonReader
- Android JSON 解析(二) JSONReader 和 JSONWriter
- JsonReader解析json和JsonWriter生成json
- Android 之 json数据的解析(jsonReader)
- Android学习第七天————将数据保存为JSON格式,通过JSONObject和JSONReader来解析JSON数据
- 使用Gson的JsonReader解析Json数据
- [Android基础]读写xml、json格式的数据
- jqgrid-parmNames和jsonReader的使用,以及json的返回格式
- jqgrid-parmNames和jsonReader的使用,以及json的返回格式
- jqgrid-parmNames和jsonReader的使用,以及json的返回格式
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- jqGrid简单使用、json格式和jsonReader介绍
- 【Python3.5】读写JSON格式的数据
- android 学习笔记 解析json格式的数据 JSONObject 和GSON解析json格式数据
- Android JSON解析类 - JsonReader
- Perl语言学习笔记 15 智能匹配与give-when结构
- Java多态
- Oracle 在64位机器上使用plSQL连接Oracle的问题(SQL*Net not properly installed) 转载
- 机房合作——感悟篇
- grant connect,resource to user 的权限
- Android读写JSON格式的数据之JsonWriter和JsonReader
- char的符号,有木有
- 深入java虚拟机(二)——类的生命周期(上)类的加载和连接
- OGNL表达式struts2标签“%,#,$”
- Struts2基本原理
- mac os下用maven做版本发布的svn权限问题
- putty连接不上虚拟机下的ubuntu
- java的动态代理机制详解
- 自考之——我看《软件开发工具》