JSON解析的步骤

JSON解析步骤

概念

JSON(JavaScript Object Notation) 是JS对象简谱,是一种轻量级的数据交换格式。它具有良好的可读性和便于快速编写的特性,是目前网络中主流的数据传输格式之一。

数据格式

JSON中有两种数据格式:对象格式和数组格式
对象格式:一个对象由大括号表示,括号中 描述对象的属性.通过键值对俩描述对象的属性(可以理解为,大括号中,包含的是一个个的键值对),键与值之间使用冒号连接,多个键值对之间使用逗号隔开,键值对的键应该使用引号(通常在java解析是,键不使用引号报错,而JS能正确解析);键值对中的值,可以是JS中的任意类型的数据
数组格式:[元素1,元素2…];

{//JSON格式
	"name" :"张三""age" : "18""friends":["李四""王五"{
		"name":"小明""age" :"19"}]"book":{
		"name" : "西游记""info" : "讲述了唐僧师徒四人去往西天取经的故事"}
}
java与JSON

java和JSON之前可以互相转换,可以将java对象快速转换为JSON格式的字符串,同时也可以将JSON字符串转换为java对象,它有两种方式Gson和FastJson.

Gson

Gson是谷歌推出的JSON和java之间相互转换的java(序列化与反序列化)库。利用Gson进行java和JSON之间的转换步骤是:
1.引入gson.jar(需要去下载该文件);
2.在需要准换JSON字符串的位置,创建一个JSON对象:
String json = new Gson().toJSON(要转换的对象);

public class demo{
	public static main(String argv[]){
		/**
		*java对象转JSON字符串
		*/
		Gson json = new Gson();
		Book b = new Book("西游记""讲述了唐僧师徒四人去往西天取经的故事");
		String s= json.toJson(b);
		System.out.println(s);
		/**
		*JSON字符串转java对象
		*/
		Gson json = new Gson();
		Book b = json.fromJson("name":"西游记","info":"讲述了唐僧师徒四人去往西天取经的故事");   
		System.out.println(b.getName()+b.getInfo());
	}
} 
class Book{//创建一个Book类
	private String name;//书名
	private String info;//简介
	public Book(String name,String info){
		this.name = name;
		this.info = info;
	}
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
	public void setInfo(String info){
		this.info = info;
	}
	public String getInfo(){
		return info;
	}
}
FastJson

FastJson是阿里巴巴开源的JSON解析库,它可以解析JSON格式的字符串,支持将Java序列化为JSON字符串,也可以从JSON Bean字符串反序列化到javaBean.转换步骤为:
1.引入FastJson.jar(需要下载)
2.在需要准换JSON字符串的位置,创建一个JSON对象:

public class demo{
	public static main(String argv[]){
		/**
		*对象转换成JSON字符串
		*/
		Book b = new Book("西游记""讲述了唐僧师徒四人去往西天取经的故事");
		String json =  JSON.toJSONString(b);
		System.out.println(json);
		/**
		*JSON转换成java对象
		*/
		Book b = JSON.parseObject("name":"西游记""info":"讲述了唐僧师徒四人去往西天取经的故事",Book.class);
	       System.out.println(b.getName());
	       /**
	       *转换成数组
	       *["西游记","三国演义,"水浒传"]
	       */
	       List<String> s = JSON.parseArray(["西游记","三国演义","水浒传"],Sting.class);
	       System.out.prinfln(s.get[1]);
		
	}
}
class Book{
	private String name;
	private String info;
	public Book(String name,String info){
		this.name = name;
		this.info = info;
	}
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
	public void SetInfo(String info){
		this.info = info;
	}
	public String getInfo(){
		return info;
	}
}

JSON比XML格式的数据传输来说,更加省流量,传输效率更高,FastJson比Gson的效率更高。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值