zoukankan      html  css  js  c++  java
  • JSON对象的序列化和反序列化

    方法:

      序列化 JSON.stringify(json)

           反序列化 JSON.parse(jsonStr)

    API详解:

    JSON.stringify(json[, replacer [, space]])
    • json, 即将被序列化的json对象
    • replacer, 数组或函数;数组可用来指定仅序列化哪些指定的属性;函数将在json每个属性实现序列化时都进行调用,用作后续处理
    • space, 数字或字符串,用于美化输出;数字表示每一级别缩进多少个空格;字符串则使用该字符串作为每一级的缩进

    注意事项:

    1. 不可枚举的属性会被忽略
    2. 值为undefined、函数、Symbol的属性在对象序列化是会被忽略;若undefined、函数、Symbol出现在数组中,序列化时将被置为null
    3. symbol属性会被忽略,即使replacer强制包含该属性

    详细信息参见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

    JSON.parse(jsonStr[, reviver])
    • jsonStr,即将反序列化的json字符串
    • reviver,函数,在对每个属性值反序列化生成值的时候会调用该函数

    注意事项:

    1. reviver 函数使用时需注意在解析到最顶层时,key为"",通常需要过滤掉该属性进行值的后续处理
    2. 遍历顺序为:层级优先,内层优先
    3. 不允许jsonStr中以,号结尾,例:"{a:1,}"

    详细信息参见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

  • 相关阅读:
    Spring Boot 入门实战(7)--JdbcTempalte、Mybatis、动态数据源及 Atomicos 整合(XA 事务)
    L1-058 6翻了 (15 分)
    L1-057 PTA使我精神焕发 (5 分)
    L1-056 猜数字 (20 分)
    L1-055 谁是赢家 (10 分)
    L1-054 福到了 (15 分)
    L1-053 电子汪 (10 分)
    L1-052 2018我们要赢 (5 分)
    L1-051 打折 (5 分)
    L1-050 倒数第N个字符串 (15 分)
  • 原文地址:https://www.cnblogs.com/yiyitong/p/10032075.html
Copyright © 2011-2022 走看看