json 介绍

JSON编辑
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。
这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速度)。
中文名:javaScript对象表示法

1 JSON 语法

数据在键值对的结构中 名称/键:值 
数据由逗号分隔
花括号{}保存对象
方括号[]保存数组

2、值(value)
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。
这些结构可以嵌套。
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。 字符串(string)与C或者Java的字符串非常相似。
数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

3 基础结构有两种结构
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
1、对象:对象在js中表示为“{}”括起来的内容,是一个无序的“‘名称/值’对”集合
数据结构为 {key:value,key:value,…}的键值对的结构,key为对象的属性,value为对应的属性值,所以很容易理解,
取值方法为 对象.key 获取属性值

	定义:var json = {id:1,name:"张三"};//键可用""或不用
	取值 获取name使用代码 json.name
	
2、数组:数组在js中是中括号“[]”括起来的内容,数组是值(value)的有序集合,值之间使用“,”(逗号)分隔
	数据结构为 ["java","javascript","vb",...],
	取值方式和所有语言中一样,使用索引获取,
	
	定义:var jsonArray = [{id:1,name:"张三"},{id:2,name:"王五"},{id:3,name:"赵六"}];
	取值: 获取张三使用代码 json[0].name
		for(var i in jsonArray ){
			alert(jsonArray[i].name);
		}

4 Java对象和json数据之间的互相转换:

	工具 :fastjson-1.2.2.jar
	Java对象转化成json字符串:json字符串=JSON.toJSONString(Java对象)

将json字符串转化成JavaBean对象
	Person person = new Person("1","fastjson",1);
	//这里将javabean转化成json字符串
	String jsonString = JSON.toJSONString(person);
	//这里将json字符串转化成javabean对象,
	person =JSON.parseObject(jsonString,Person.class);

将json字符串转化成List<JavaBean>对象
	Person person1 = new Person("1","fastjson1",1);
	Person person2 = new Person("2","fastjson2",2);
	List<Person> persons = new ArrayList<Person>();
	persons.add(person1);
	persons.add(person2);
	String jsonString = JSON.toJSONString(persons);
	System.out.println("json字符串:"+jsonString);
	//解析json字符串
	List<Person> persons2 = JSON.parseArray(jsonString,Person.class);

将json字符串转化成List<String>对象
	List<String> list = new ArrayList<String>();
	list.add("fastjson1");
	list.add("fastjson2");
	list.add("fastjson3");
	String jsonString = JSON.toJSONString(list);
	System.out.println("json字符串:"+jsonString);
	//解析json字符串
	List<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){}); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值