(1)JSON兩種格式
1、對象:對象在js中表示爲“{}”括起來的內容,數據結構爲 {key:value,key:value,…}的鍵值對的結構,在面向對象的語言中,key爲對象的屬性,value爲對應的屬性值,所以很容易理解,取值方法爲 對象.key 獲取屬性值,這個屬性值的類型可以是 數字、字符串、數組、對象幾種。
2、數組:數組在js中是中括號“[]”括起來的內容,數據結構爲 [“java”,“javascript”,“vb”,…],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數字、字符串、數組、對象幾種。
(2)演示
配置fastjson依賴
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
javaBeanBase
package com.suning.Json;
import java.util.ArrayList;
import java.util.List;
public class javaBeanBase {
private String name ;
private String address;
private int age ;
private String offer;
private List<javaBeanBase> list = new ArrayList<javaBeanBase>();
//無參數構造器
public javaBeanBase(){}
//帶參數構造器
public javaBeanBase(String name,String address,int age,String offer){
this.name = name ;
this.address = address;
this.age = age ;
this.offer = offer;
}
//帶有list集合的構造器
public javaBeanBase(List<javaBeanBase> list ){
this.list = list;
}
public List<javaBeanBase> getList() {
return list;
}
public void setList(List<javaBeanBase> list) {
this.list = list;
}
@Override
public String toString() {
return "javaBeanBase [name=" + name + ", address=" + address + ", age="
+ age + ", offer=" + offer + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getOffer() {
return offer;
}
public void setOffer(String offer) {
this.offer = offer;
}
}
jsonConvertDemo
package com.suning.Json;
import java.util.ArrayList;
import java.util.List;
import org.testng.annotations.Test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class jsonConvertDemo {
@Test
public void javabenConvertString(){
javaBeanBase baseObject = new javaBeanBase("turan","nanjing",25,"8000");
javaBeanBase baseObjct2 = new javaBeanBase();
//{"address":"nanjing","age":25,"name":"turan","offer":"8000"}
String str = JSON.toJSONString(baseObject);
//{"age":0}
String str2 = JSON.toJSONString(baseObjct2);
System.out.println(str);
System.out.println(str2);
}
@Test
public void listConvertJSON(){
javaBeanBase listObject1 = new javaBeanBase("tangchao","nanjing",24,"6000");
javaBeanBase listObject2 = new javaBeanBase("zhushuo","lianyungang",25,"7000");
javaBeanBase listObject3 = new javaBeanBase("dingwenyi","hangzhou",26,"8000");
List<javaBeanBase> list = new ArrayList<javaBeanBase>();
list.add(listObject1);
list.add(listObject2);
list.add(listObject3);
//[{"address":"nanjing","age":24,"name":"tangchao","offer":"6000"},{"address":"lianyungang","age":25,"name":"zhushuo","offer":"7000"},{"address":"hangzhou","age":26,"name":"dingwenyi","offer":"8000"}]
String str3 = JSON.toJSONString(list);
System.out.println(str3);
}
@Test
public void listConvertJSON2(){
javaBeanBase listObject1 = new javaBeanBase("tangchao","nanjing",24,"6000");
javaBeanBase listObject2 = new javaBeanBase("zhushuo","lianyungang",25,"7000");
javaBeanBase listObject3 = new javaBeanBase("dingwenyi","hangzhou",26,"8000");
List<javaBeanBase> list = new ArrayList<javaBeanBase>();
list.add(listObject1);
list.add(listObject2);
list.add(listObject3);
javaBeanBase listobject4 = new javaBeanBase(list);
//{"age":0,"list":[{"address":"nanjing","age":24,"list":[],"name":"tangchao","offer":"6000"},{"address":"lianyungang","age":25,"list":[],"name":"zhushuo","offer":"7000"},{"address":"hangzhou","age":26,"list":[],"name":"dingwenyi","offer":"8000"}]}
String str5 = JSON.toJSONString(listobject4);
System.out.println(str5);
}
@Test
public void jsonConvertJAVA(){
String jsontoJAVA = "{'name':'chibin','address':'shanghai','age':'30','offer':'gaoxin'}";
javaBeanBase object = JSON.parseObject(jsontoJAVA,javaBeanBase.class);
System.out.println(object);
}
}