【相關推薦:、】
JavaScript Object Notation -JavaScript
用於儲存和交換文字資訊的語法,進行資料的傳輸,JSON比 XML 更小、更快,更易解析。
var person = {"name": "張三", age: 23, 'gender': true};var ps = [{"name": "張三", "age": 23, "gender": true}, {"name": "李四", "age": 24, "gender": true}, {"name": "王五", "age": 25, "gender": false}];
var b='{"name":"2323","sex":"afasdf","age":"6262"}';//json字串 console.log(b);//{"name":"2323","sex":"afasdf","age":"6262"} alert(typeof(b));//string
將資料結構或是物件 轉換為 二進位制串(位元組序列)的過程 用來資料的傳輸 (把資料裝換成json字串 後端配合@reponseBody來進行資料的接受和傳遞)
後端是Java物件,想用JSON的格式將資料傳輸,就要進行序列化操作。
Java物件序列化了才可以在網路上傳輸,或者儲存到硬碟上。
序列化完就變成了json字串了 通過jackson這個序列化框架序列化
在後端通過在controller上面加@reponseBody註解 將從service層獲取到的java物件轉化為json格式物件,傳輸到前端
在controller的請求引數前加@reponseBody 就可以將前端傳過來的json格式的資料接收
這個ObjectMapper物件是jackson包下面的,這是他的依賴
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.3</version> </dependency>
//類屬性, private static final ObjectMapper MAPPER = new ObjectMapper(); //序列化-----userMapList是List<user>的格式,現在我們需要將List集合序列化為json字串 MAPPER.writeValueAsString(userMapList); //反序列化---json格式的字串要反序列化為物件 MAPPER.readValue(你要反序列化的json字串,new TypeReference<要反序列化為什麼物件型別,例如 User.class>() {});
序列化:將Js中的物件轉化成Json格式,序列化的兩個引數:過濾器和選項。
var person = { username: ‘luohao’, password: 123456, location: ‘whu’ }
引數是一個陣列,出現在陣列中的屬性才會序列化,其餘屬性忽略不計。
var json = JSON.stringify(person, [‘username’, ‘password’]); console.log(json); {「username」:「luohao」,「password」:123456}
var person = { username: ‘luohao’, password: 123456, location: ‘whu’, hometown: ‘wuhan’, } var json = JSON.stringify(person, function filter(key, value) { switch(key) { case ‘location’: return undefined; case ‘hometown’: return undefined; default: return value; } }); console.log(json); {「username」:「luohao」,「password」:123456}
JSON.stringify()中的第三個參數列示縮排的空格數,這樣傳輸的資料可讀性比較好。
var person = { username: ‘luohao’, password: 123456, location: { province: ‘hubei’, city: ‘wuhan’, county: ‘qichun’ }, hometown: ‘wuhan’, } var json = JSON.stringify(person, function filter(key, value) { switch(key) { case ‘hometown’: return undefined; default: return value; } }); console.log(json); {「username」:「luohao」,「password」:123456,「location」:{「province」:「hubei」,「city」:「wuhan」,「county」:「qichun」}}
var person = { username: ‘luohao’, password: 123456, location: { province: ‘hubei’, city: ‘wuhan’, county: ‘qichun’ }, hometown: ‘wuhan’, } var json = JSON.stringify(person, function filter(key, value) { switch(key) { case ‘hometown’: return undefined; default: return value; } }, 2); console.log(json); { 「username」: 「luohao」, 「password」: 123456, 「location」: { 「province」: 「hubei」, 「city」: 「wuhan」, 「county」: 「qichun」 } }
【相關推薦:、】
以上就是範例解析Json物件Json字串的序列化與反序列化的詳細內容,更多請關注TW511.COM其它相關文章!