1.什么是json?
它可以理解就是一个特殊的字符串
2.json的作用
它就是用来传递数据的
3.json的使用:
(1)对象和json之间的转换
①对象-->字符串 JsonObject jsonObject=JsonObject.fromObject(对象);
②字符串-->对象:1、 JsonObject jsonObject=JsonObject.fromObject(字符串);
2、对象=jsonObject.toBean(jsonObject,对象.class);
(2)对象集合和字符串之间的转换
①对象集合-->字符串:JsonArray jsonArray=JsonArray.fromObject(对象集合);
②字符串-->对象集合:JsonArray jsonArray=JsonArray.fromObject(字符串);
对象集合=jsonArray.toCollection(jsonArray);
--测试类
package com.zking.test;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.junit.Test;
/**
* {} Json对象 JsonObject
* [] Json对象集合 JsonArray
*/
import com.zking.entity.Person;
public class TestJson {
/**
* 将Json转成对象集合
*/
@Test
public void testJsonToArray(){
List<Person> persons=new ArrayList<Person>();
for (int i = 1; i <=36; i++) {
persons.add(new Person(i, "G160628S"+i, 18));
}
JSONArray jsonArray=JSONArray.fromObject(persons);
List<Person> persons2=(List<Person>) JSONArray.toCollection(jsonArray, Person.class);
for (Person person : persons2) {
System.out.println(person);
}
}
/**
* 对象集合转成Json(常用)
*/
@Test
public void testArrayToJson(){
List<Person> persons=new ArrayList<Person>();
for (int i = 1; i <=36; i++) {
persons.add(new Person(i, "G160628S"+i, 18));
}
JSONArray jsonArray=JSONArray.fromObject(persons);
System.out.println(jsonArray.toString());
}
/**
* json字符串转成对象
*/
@Test
public void testJsonToObject(){
Person person=new Person(1, "亮亮", 17);
JSONObject jsonObject=JSONObject.fromObject(person);
String s=jsonObject.toString();
Person person2=(Person) JSONObject.toBean(jsonObject, Person.class);
System.out.println(person2);
}
/**
* 对象转成Json(常用)
*/
@Test
public void testObjectToJson(){
Person person=new Person(1, "亮亮", 17);
JSONObject jsonObject=JSONObject.fromObject(person);
System.out.println(jsonObject.toString());
}
}
--实体类
package com.zking.entity;
public class Person {
private int pid;
private String pname;
private int page;
public Person() {
super();
}
public Person(int pid, String pname, int page) {
super();
this.pid = pid;
this.pname = pname;
this.page = page;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
@Override
public String toString() {
return "Person [page=" + page + ", pid=" + pid + ", pname=" + pname
+ "]";
}
}
(3)在Jsp中使用json
在jsp页面引入json.js文件
<1>Json>.stringify(对象)-->将JS对象转换成Json字符串
<2>Json.parse------------->将Json字符串转成JS对象