1. 程式人生 > >javascript序列化

javascript序列化

定義 rip font date() 序列 現在 轉換成 undefine str

將js對象轉換成JSON


var obj = {x:1,y:"string",z:null,m:[5,6,7]}

JSON.stringify(obj); //"{"x":1,"y":"string","z":null,"m":[5,6,7]}"

//需要註意的地方
//屬性值為undefined  將不會出現在序列化後的結果當中
//屬性值為NaN,將轉換成null
//屬性值為Infinity,將轉換成null

var o = {x:undefined,y:null,z:NaN,m:Infinity,p:new Date()};

JSON.stringify(o)  //"{"y":null,"z":null,"m":null,"p":"2017-06-24T13:48:50.975Z"}"

將JSON轉換為js對象


var o = JSON.parse(‘{"x":1}‘);

o.x  //1

序列化之自定義


var o = {
  x:1,
  y:2,
  z:{
    z1:1,
    z2:3
 }
}

JSON.stringify(o)  //"{"x":1,"y":2,"z":{"z1":1,"z2":3}}"

//如果我們想序列化後z 顯示 z1+z2的值 怎麽辦?

var o = {
  x:1,
  y:2,
  z:{
    z1:1,
    z2:3,
    toJSON:function(){

     return this
.z1+this.z2; } } } JSON.stringify(o) //"{"x":1,"y":2,"z":4}"

javascript序列化