JSON简单介绍

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());


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值