<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="Expires" content="0" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> var json = { "key":123, "key2":"hello", "key3":[1,"nihao",true], "key4":{ "key4_1":99, "key4_2":"dani" }, "key5":[{ "key5_1":199, "key5_2":"dani" },{ "key5_3":199, "key5_4":"123dani" }] }; /* alert(json.key5[1].key5_4); */ var str= JSON.stringify(json); //json轉成對象 //alert(str); var jsonObj = JSON.parse(str); /* alert( jsonObj ); */ alert( jsonObj.key3[2] ); </script> </head> <body> </body> </html>
json對象由在括號括起來,對象中的屬性也就是json的key是一個字符串,因此必定要使用雙引號引發來。每組key之間使用逗號進行分隔。能夠保持的格式不少,客戶端和服務器都容易解讀javascript
var jsons = { "key1":"abc", // 字符串類型 "key2":1234, // Number "key3":[1234,"21341","53"], // 數組 "key4":{ // json類型 "key4_1" : 12, "key4_2" : "kkk" }, "key5":[{ // json數組 "key5_1_1" : 12, "key5_1_2" : "abc" },{ "key5_2_1" : 41, "key5_2_2" : "bbj" }] };
JSON中兩個經常使用的方法。
JSON對象和字符串對象的互轉。 注意:JSON大寫
JSON.stringify( json ); 此方法能夠把一個json對象轉換成爲json字符串
JSON.parse( jsonString ); 此方法能夠把一個json字符串轉換成爲json對象html
json在java中的操做。常見的有三種狀況。
1.java對象和json的轉換
2.java對象list集合和json的轉換
3.map對象和json的轉換java
引入谷歌Gson 的jar包json
package com.atguigu.bean; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.reflect.TypeToken; public class GsonTest { @Test public void getGson(){ Person person = new Person(1,"張三"); Gson gson = new Gson(); //對象轉json格式 String json = gson.toJson(person); // System.out.println(json); // System.out.println("=============="); //json格式轉單個對象 Person fromJson = gson.fromJson(json, Person.class); // System.out.println(fromJson); //一羣對象呢? List<Person> list = new ArrayList<Person>(); list.add(new Person(2,"張三1")); list.add(new Person(3,"張三3")); list.add(new Person(4,"張三4")); JsonElement jsonTree = gson.toJsonTree(list); // System.out.println(jsonTree); List<Person> fromJson2 = gson.fromJson(jsonTree, new TypeToken<List<Person>>(){}.getType()); // System.out.println(fromJson2); } @Test public void mapJson(){ Map<String,Person> map = new HashMap<String,Person>(); map.put("1", new Person(1,"haha")); map.put("2", new Person(2,"2haha")); map.put("3", new Person(3,"3haha")); Gson gson = new Gson(); JsonElement map1 = gson.toJsonTree(map);//map對象保存爲json格式 System.out.println(map1); //把json格式轉換爲map對象 Map<String,Person> fromJson = gson.fromJson(map1, new TypeToken<HashMap<String,Person>>(){}.getType()); System.out.println(fromJson); } }