json格式的字串序列化和反序列化的一些高階用法
(1) 僅僅將指定屬性對應的值序列化成字串:
var filter = {name: 'Jerry', sex: 'male', age: '10'};
var jsonStr4 = JSON.stringify(filter, ['name']);
console.log(jsonStr4);
想參與序列化的引數名透過JSON.stringify方法的第二個引數傳入。
上面例子中,只有name欄位及對應的值參與了序列化,輸出如下:
(2) 序列化時,還可以編寫函式,實現自定義序列化邏輯:
var obj = {name: 'Jerry', sex: 'male', age: '40'};
var jsonStr5 = JSON.stringify(obj, function(key, value) {
if(key === 'name') {
return 'my name is: ' + value;
}
else if( key === 'sex'){
// do not return, discard this attribute
}
else
return value;
});
輸出:
name屬性的值透過自定義函式實現,前面加上了字首。sex屬性被丟棄,age屬性保持不變。
(3) 序列化時增加縮排,讓輸出的字串更便於閱讀
var obj6 = {name: 'Jerry', sex: 'male', age: '40'};
var jsonStr6 = JSON.stringify(obj6, null, 5);
console.log(jsonStr6);
輸出:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2680361/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python中序列化/反序列化JSON格式的資料PythonJSON
- 序列化和反序列化pickle和json 模組JSON
- python 學習 -- json的序列化和反序列化PythonJSON
- Json序列化字串異常情況JSON字串
- C#序列化和反序列化(json)C#JSON
- [.net 物件導向程式設計進階] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化物件程式設計JSON
- JSON-B:簡化 JSON 序列化和反序列化JSON
- JSON 物件序列化、反序列化JSON物件
- typedef的一些高階用法
- Spring Boot Cache配置 序列化成JSON字串Spring BootJSON字串
- Java物件的序列化與反序列化-Json篇Java物件JSON
- Newtonsoft.Json序列化JSON字串問題JSON字串
- jackson進行json序列化和反序列化JSON
- Newtonsoft序列化與反序列化json字串使用方法總結JSON字串
- ServiceStack.Text反序列化lowercase_underscore_names格式的JSONJSON
- Java的序列化和反序列化Java
- Python常用標準庫(pickle序列化和JSON序列化)PythonJSON
- C#中實現JSON功能及物件的序列化和反序列化C#JSON物件
- json字串和json格式物件的轉換JSON字串物件
- Go 中時間型別欄位的 JSON 序列化和反序列化的處理技巧Go型別JSON
- Flutter中JSON序列化與反序列化FlutterJSON
- C# 序列化與反序列化jsonC#JSON
- 關於序列化與反序列化的一些思考
- Swift 中的 JSON 反序列化SwiftJSON
- python的序列化和反序列化Python
- PHP的序列化和反序列化入門PHP
- FastJSON解析Json字串(反序列化為List、Map)ASTJSON字串
- Android 中的Json解析工具fastjson 、序列化、反序列化AndroidJSONAST
- 在C#中實現Json的序列化與反序列化C#JSON
- Ipython的一些高階用法(一)Python
- C# Json 序列化與反序列化一C#JSON
- C# Json 序列化與反序列化二C#JSON
- .NET物件的XML序列化和反序列化物件XML
- 物件(List<T>)的序列化和反序列化物件
- Python中類的JSON序列化PythonJSON
- Kotlin Json 序列化KotlinJSON
- Java物件的序列化和反序列化實踐Java物件
- 從java的序列化和反序列化說起Java