您的位置:首页 > Web前端 > JavaScript

JSON简单介绍

2015-03-06 22:09 309 查看
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());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android java JSON