zoukankan      html  css  js  c++  java
  • js之oop <五>对象序列化(js的JSON操作)

    js对象序列化的过程,就是对象转换为JSON的过程。
    JSON.stringify() 将对象序列化成JSON。(接收对象,输出字符串)

    var obj = {x:2,y:3};
    var str = JSON.stringify(obj);    //输出 {"x":2,"y":3}

    序列化时,对象的函数序列化时不会显示。

    var obj = {a:1,b:2,c:function(){ console.log(3); }};
    var str = JSON.stringify(obj);      //输出 {"a":1,"b":2}

    对象函数若有toJSON,序列化后其他属性都不会显示,只会显示toJSON的返回值,若toJSON无返回值则显示undefined。如果在toJSON之后有toJSON属性,则之前的toJSON函数无效,其他对象属性正常显示。

    var obj = {a:1,b:2,toJSON:function(){ return "这是一个对象" },j:4,k:5};
    var str = JSON.stringify(obj);      //输出 "这是一个对象"
    var obj = {a:1,b:2,toJSON:function(){ return "这是一个对象" },j:4,k:5,toJSON:6};
    var str = JSON.stringify(obj);      //输出 {"a":1,"b":2,"toJSON":6,"j":4,"k":5}

    JSON.parse() 将JSON反序列化为对象。(接收字符串,输出对象)

    var json_s = '{"zhong":"中","guo":"国"}';
    var obj = JSON.parse(json_s);   //输出 obj.zhong = "中"   obj.guo = "国"

    序列化时,
    若对象属性值为undefined,序列化时不会显示;
    若对象属性值为NaN或Infinity,序列化时都被视为null;
    若对象属性值为时间,序列化时会被转换为UTC的时间格式。

    var obj = {a:undefined,b:NaN,c:Infinity,d:new Date()};
    var str = JSON.stringify(obj);      //输出 {"b":null,"c":null,"d":"2016-09-11T15:44:21.725Z"}
  • 相关阅读:
    14、数列
    13、Hangover
    12、Anagrams by Stack
    彩票软件7) 重构数据库accesser
    彩票软件6)观察者模式
    彩票软件5)Sqlite 数据库访问类
    彩票软件4)插叙
    彩票软件3)wpf界面布局
    彩票软件2)代码管理git
    彩票软件1)前言
  • 原文地址:https://www.cnblogs.com/MirageFox/p/5863358.html
Copyright © 2011-2022 走看看