Nginx 配置 SSL,很系統!很完整!解決 Nginx 報錯 nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf
1 概念:JavaScript Object Notation JavaScript物件表示法
var p={"name":"張三","age":23,"gender":"男"};
json現在多用於儲存和交換文字資訊的語法
進行資料的傳輸
json比xml更小、更快、更易解析
2 語法:
1 基本規則
資料在名稱/值對中:json資料是由鍵值對構成的
* 鍵用引號引起來,也可以不使用
* 值的取值型別
數字(正數或浮點數)
字串(在雙引號中)
邏輯值(true 或 false)
陣列(在方括號中)
物件(在花括號中)
null
資料由逗號分隔:多個鍵值對由逗號分隔
花括號儲存物件:使用{}定義json格式
方括號儲存陣列:[]
2 獲取資料:
1 json物件.鍵名
2 json物件["鍵名"]
3 陣列物件[索引]
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script> //1 定義基本格式var person = { "name" : "zhangsan", "age" : "23", "gender" : "true" }; var name=person.name; var name=person["name"]; //alert(name); //alert(person); //2 巢狀格式 {}--->[] var people = { "people" : [ { "name" : "zhangsan","age" : "23", "gender" : "true" }, { "name" : "lisi", "age" : "24", "gender" : "true" }, { "name" : "wangwu", "age" : "25", "gender" : "true" } ] }; var name=people.people[2].name; //alert(name); //alert(people); //2 巢狀格式 []--->{} var peo=[{ "name" : "zhangsan", "age" : "23", "gender" : "true" }, { "name" : "lisi", "age" : "24", "gender" : "true" }, { "name" : "wangwu", "age" : "25", "gender" : "true" } ]; var name=peo[1].name; alert(name); //alert(peo); </script> </head> <body> </body> </html>
3 JSON和Java物件的相互轉換
* JSON解析器
常見的解析器:Jsonlib,Gson,fastjson,jackson
1 JSON轉為Java物件
1 使用步驟
1 匯入jackson的相關jar包
2 建立Jackson核心物件 ObjectMapper
3 呼叫ObjectMapper的相關方法進行轉換
readValue(json字串資料,Class)
2 Java物件轉換JSON
1 使用步驟
1 匯入jackson的相關jar包
2 建立Jackson核心物件 ObjectMapper
3 呼叫ObjectMapper的相關方法進行轉換
2 註解:
1 @JsonIgnore:排除屬性
2 @JsonFormat:屬性值的格式化
3 複雜Java物件轉換
1 List:陣列
2 Map:物件格式一致
package test; import java.util.ArrayList; import java.util.List; import org.junit.Test; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import domain.person; public class Jackson { //java物件轉換為json字串 @Test public void test1() throws JsonProcessingException { //建立person物件 person p=new person(); p.setName("zhangsan"); p.setAge(23); p.setGender("男"); //建立Jackson的核心物件ObjectMapper ObjectMapper mapper=new ObjectMapper(); //轉換 /* 轉換方法: writevalue(引數1,obj) 引數1: File:將obj物件轉換為json字串,並儲存到指定的檔案中 Writer:將obj物件轉換為json字串,並將json資料填充到字元輸出流中 OutputStream:將obj物件轉換為json字串,並將json資料填充到位元組輸出流中 writeValueAsString(obj):將物件轉換為json字串 */ String s=mapper.writeValueAsString(p); //System.out.println(s); } @Test public void test2() throws JsonProcessingException { //建立person物件 person p=new person(); p.setName("zhangsan"); p.setAge(23); p.setGender("男"); person p1=new person(); p1.setName("lisi"); p1.setAge(24); p1.setGender("男"); person p2=new person(); p2.setName("wangwu"); p2.setAge(25); p2.setGender("男"); List<person> peo=new ArrayList<person>(); peo.add(p); peo.add(p1); peo.add(p2); //建立Jackson的核心物件ObjectMapper ObjectMapper mapper=new ObjectMapper(); //轉換 String s=mapper.writeValueAsString(peo); System.out.println(s); } }