JSON简介:
json是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来储存和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言,易于阅读和编写,同时也易于机器解析和生成,并有效提高网络传输效率。json一般作用于前后端数据的交互,例如java和html前端的交换数据。是当今非常流行的前后端数据交换形式。
json用来表示 例如字符串,数字,数组,对象等,其中对象和数组是两种比较常见而且特殊的类型。一般表现形式为K-V对(键值对),数据由逗号分隔,由花括号保存json对象,例如:
{"name":"charles","age":"22"}
这是一个json对象。
方括号保存json数组,例如
[{"name":"tony","age":"22"},{"name":"jack","age":"23"},{"name":"joy","age":"24"}]
这是一个json对象数组。
例如在java中定义一个json字符串:
String strJson="{\"name\":\"charles\",\"age\":\"22\"}";
fastjson是一个性能很好的Java语言实现的JSON解和生成器,由阿里巴巴开发,是目前Java语言中最快的JSON库,fastjson简单易用,已被广泛使用在协议交互,web网站,Android客户端等多种应用场景。其主要特点是:快速,强大,零依赖。(可以去官网下载jar包)
fastjson的基本使用:
1.将对象转化为JSON字符串
2.将JSON串转化为对象
3.将集合转化为JSON字符串
4.将JSON字符串转化为集合
先定义一个基础的pojo类
package com.csdn.charles.pojo;
public class Person {
private String cardNum;
private String name;
private int age;
public String getCardNum() {
return cardNum;
}
public void setCardNum(String cardNum) {
this.cardNum = cardNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
fastjson基本使用Demo
package com.csdn.charles.fastjson;
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
public class FastJsonDemo {
public static void main(String[] args) {
//将对象转换JSON字符串
Person person = new Person();
person.setCardNum("123456");
person.setName("charles");
person.setAge(22);
System.out.println(JSON.toJSONString(person));
//将JSON字符串转换对象
String strjson = "{cardNum : '23456' ,name : 'jhon', age : 66 }";
// Person.class 固定格式 告诉JSON转换成Person对象
Person person1 = JSON.parseObject(strjson, Person.class);
//将集合转换JSON字符串
Person person2 = new Person();
person2.setCardNum("654321");
person2.setName("jack");
person2.setAge(23);
ArrayList list = new ArrayList();
list.add(person);
list.add(person1);
list.add(person2);
System.out.println(JSON.toJSONString(list));
//将JSON字符串转集合
String strjson2 = "[{cardNum : '112233' ,name : 'charles', age : 22 },{cardNum : '223344' ,name : 'john', age : 33 }]";
ArrayList jsonarray = JSON.parseObject(strjson2, ArrayList.class);
System.out.println(jsonarray.get(0));
}
}