JSON
JSON
一:介紹
- JSON是一種輕量級的資料交換格式。易於人閱讀和編寫。同時也易於機器解析和生成,JSON採用完全獨立於語言的文字格式,而且很多語言都提供了對JSON的支援(包括C,C++,JAVA等),這樣就使得JSON成為理想的資料交換格式。
- JSON是一種 輕量級的資料交換格式。
- 輕量級指的是跟xml做比較。
- 資料交換指的是客戶端和伺服器之間業務資料的傳遞格式。
二:JSON在JavaScript中的使用
(1)JSON的定義
JSON是由鍵值對組成,並且由花括號(大括號)包圍,每個鍵由引號引起來,鍵和值之間使用冒號進行分隔,多組鍵值對之間用逗號進行分隔。
<script type="text/javascript">
//1.json的定義(裡面可以儲存各種型別的值)
//json其實就是一個物件
var jsonObj = {
"key1":12,
"key2":"abc",
"key3":true
};
</script>
(2)JSON的訪問
<script type="text/javascript">
//2.json的訪問
//json中的key我們可以理解為是物件中的一個屬性,json中key的訪問就跟訪問物件的屬性一樣,即json物件.key
alert(jsonObj.key1);
</script>
(3)JSON的兩個常用方法
JSON的存在有兩種形式:
- 一種是:物件的形式存在,我們叫他為JSON物件
- 一種是:字串的形式存在,我們叫他為JSON字串
- 一般我們要操作JSON中的資料的時候,需要JSON物件的格式。
- 一般我們要在客戶端和伺服器之間進行資料交換的時候,使用JSON字串。
二者可以相互轉換:
- JSON.stringify():把JSON物件轉換為JSON字串
- JSON.parse():把JSON字串轉換成為JSON物件
//把JSON物件轉換成為JSON字串
var jsonObjString = JSON.stringify(jsonObj);//特別像JAVA中物件的toString()方法。
alert(jsonObjString);
三:JSON在Java中的使用
(1)javaBean和json的互換
public class jsonTest {
//(1)javaBean和json的互換
@Test
public void test1(){
Person person = new Person(1, "周杰倫");
//建立GSon物件例項(先匯入gson包)
Gson gson = new Gson();
//toJson()方法可以把java物件轉換為JSON字串
String personJsonString = gson.toJson(person);
System.out.println(personJsonString);//{"id":1,"name":"周杰倫"}
//fromJson()把JSON字串轉換回JAVA物件
//第一個引數是JSON字串
//第二個引數是轉換回去的JAVA物件型別
Person person1 = gson.fromJson(personJsonString, Person.class);
System.out.println(person1);
}
}
(2)List和json的互換
//PersonListType.java檔案
public class PersonListType extends TypeToken<ArrayList<Person>> {
}
public class jsonTest {
//(2)List和json的互換
@Test
public void test2(){
List<Person> personList = new ArrayList<>();
personList.add(new Person(1,"周杰倫"));
personList.add(new Person(2,"方文山"));
Gson gson = new Gson();
//把List集合轉換成json字串
String personListJsonString = gson.toJson(personList);
System.out.println(personListJsonString);
//把json字串轉換為list集合
List<Person> list = gson.fromJson(personListJsonString, new PersonListType().getType());
System.out.println(list);//[Person{id=1, name='周杰倫'}, Person{id=2, name='方文山'}]
Person person = list.get(0);
System.out.println(person);//Person{id=1, name='周杰倫'}
}
}
(3)map和json的互換
//PersonMapType.java檔案
public class PersonMapType extends TypeToken<HashMap<Integer, Person>> {
}
@Test
public void test3(){
Map<Integer,Person> personMap = new HashMap<>();
personMap.put(1,new Person(1,"李白"));
personMap.put(2,new Person(2,"杜甫"));
Gson gson = new Gson();
//把JSON集合轉換成json字串
String personMapJsonString = gson.toJson(personMap);
System.out.println(personMapJsonString);//{"1":{"id":1,"name":"李白"},"2":{"id":2,"name":"杜甫"}}
//把json字串轉換為map集合
Map<Integer,Person> personMap1 = gson.fromJson(personMapJsonString,new PersonMapType().getType());//或者寫成匿名內部類的形式
System.out.println(personMap1);//{1=Person{id=1, name='李白'}, 2=Person{id=2, name='杜甫'}}
Person person = personMap1.get(1);
System.out.println(person);//Person{id=1, name='李白'}
}
相關文章
- 【json】json基礎知識JSON
- 《JSON》JSON
- Json hijacking/Json劫持漏洞JSON
- 高效生成JSON串——json-genJSON
- json例項練習 json物件JSON物件
- Json物件與Json字串互轉JSON物件字串
- json轉json樹狀結構JSON
- 比 encoding/json 更快地解析 jsonEncodingJSON
- JSON.parse(str),JSON.stringify(a)JSON
- js把json字串轉成json物件JSON字串物件
- JSON.parse()和JSON.stringify()JSON
- json 物件與json 字串的區別。JSON物件字串
- JSON 物件JSON物件
- json模組JSON
- 拼JSONJSON
- JSON 格式JSON
- JSON格式JSON
- JavaScript JSONJavaScriptJSON
- JSON 初探JSON
- JSON列印JSON
- 聊聊jsonJSON
- java jsonJavaJSON
- JSON.parse與JSON.stringify(object)JSONObject
- JSON簡介(java中的json庫使用)JSONJava
- [C#] CHO.Json操作Json資料C#JSON
- 🎩 JSON Wizard for Mac - 解析你的 JSON 資料!🔮JSONMac
- json字串和json格式物件的轉換JSON字串物件
- json字串與json物件簡單介紹JSON字串物件
- array2json() - Convert PHP arrays to JSONJSONPHP
- flutter json_annotation和json_serializable處理json資料序列化FlutterJSON
- Json Schema簡介和Json Schema的.net實現庫 LateApexEarlySpeed.Json.SchemaJSON
- JSON.parse 和 JSON.stringify 詳解JSON
- JSON學習--com.alibaba.fastjson.JSONJSONAST
- Java中的Json Path和Json Merge PatchJavaJSON
- json陣列和json物件的包含關係JSON陣列物件
- fastjson 返回json字串,JSON.parse 報錯ASTJSON字串
- Python3的json和PHP的jsonPythonJSONPHP
- JSon 學習JSON