JSON简单介绍

来源:互联网 发布:网络机顶盒添加应用 编辑:程序博客网 时间:2024/06/07 04:09

JSON:JavaScript对象表示法(JavaScript Object Notation)。

JSON是存储和交换文本信息的语法。

它是一个轻量级的文本数据交换格式,具有自我描述性,更易理解,独立于语言和平台。

类似XML,比XML更小、更快,易解析。

  没有结束标签   更短   读写速度更快   使用数组  不使用保留字

1.JSON语法 是JavaScript对象表示法语法的子集。

数据结构:a.key-value键值对  b.有序集合(例如数组)

数据由逗号分隔,

花括号保存对象,

方括号保存数组

2.Json值可以是

数字(整数或浮点数)

字符串(加双引号)

逻辑值(true或false)

数组(加方括号)

对象(加花括号)

null 空值

{"school":"学校",    "student":[         {"id":1,  "name":"Tom",          "course":["math","english"]},         {"id":2,  "name":"Jack",          "course":["math","chemistry"]}    ]}

读取JOSN格式数据:

创建JSON格式数据:

<span style="white-space:pre"></span>tv = (TextView) findViewById(R.id.main_text);try {InputStreamReader isr = new InputStreamReader(getAssets().open("test.json"),"GBK");BufferedReader br = new BufferedReader(isr);String str ;StringBuffer buffer = new StringBuffer();StringBuffer buffer1 = new StringBuffer();while((str=br.readLine())!=null){buffer.append(str);}br.close();isr.close();JSONObject json1 = new JSONObject(buffer.toString());System.out.println("school:"+json1.getString("school"));buffer1.append("school:"+json1.getString("school"));JSONArray array1 = json1.getJSONArray("student");for(int i=0;i<array1.length();i++){JSONObject json2 = array1.getJSONObject(i);System.out.println("id:"+json2.getString("id"));System.out.println("name:"+json2.getString("name"));buffer1.append("id:"+json2.getString("id"));buffer1.append("name:"+json2.getString("name"));JSONArray array2 = json2.getJSONArray("course");for(int j=0;j<array2.length();j++){System.out.println("course:"+array2.getString(j));buffer1.append("course:"+array2.getString(j));}}JSONArray array_1 = new JSONArray();array_1.put("computer");array_1.put("english");JSONObject object_1 =new JSONObject();object_1.put("id", 3);object_1.put("name", "Mary");object_1.putOpt("course", array_1);JSONArray array_2 = new JSONArray();array_2.put("computer");array_2.put("math");JSONObject object_2 =new JSONObject();object_2.put("id", 4);object_2.put("name", "Jane");object_2.putOpt("course", array_2);JSONArray array_3 = new JSONArray();array_3.put(object_1);array_3.put(object_2);JSONObject object_3 =new JSONObject();object_3.put("school", "大学");object_3.put("student", array_3);tv.setText(buffer1.toString());//tv.setText(object_3.toString());


0 0
原创粉丝点击