【May Be DNK】JSON.parse() and JSON.stringify()的两个实用技巧

2022-12-07,,,

结论

一、数据深拷贝

使用方法:JSON.parse(JSON.stringify(param))

let o = {a: 1, b: 2}
let o1 = JSON.parse(JSON.stringify(o))
let o2 = o console.log(o === o2) // true
console.log(o === o1) // false

二、数据过滤

对一个对象中的数据进行处理,譬如过滤掉对象中值为null/undefined的键,我们通常会用Object.keys()逐个遍历key

现在,我们可以这样做:

let o = {
a: 1,
b: null,
c: 'hello'
} let replacer = (k, v) => {if (v) return v}) let s = JSON.stringify(o, replacer)
let res = JSON.parse(s) > res
< {a: 1, c: "hello"} // 或者
s = JSON.stringify(o)
res = JSON.parse(s, replacer) > res
< {a: 1, c: "hello"}

详细介绍

JSON,全称是JavaScript Object Notation(JavaScript 对象表示法),是一种轻量、可读性高的数据结构。

XML类似,它主要用于服务器和web应用之间的数据传输。

键值对(Keys and Values)

构成JSON的两个重要部分是键和值。它们一起组成一个键值对:

Key:一个键通常被一对双引号包裹住。

Value: 有效值是string, number, array, object, null, false, true中的一种(无undefined)。

Key/Value Pair:键值对遵循特定的语法,行如key: value,键值对以逗号分隔。

JavaScript 中的JSON对象有两个方法:parse、stringify,用来处理JSON格式的数据。

1.JSON.stringify(value[, replacer[, space]])

JSON.stringify() 将一个 JavaScript 对象转化成一个 JSON 字符串。

stringify 函数有两个可选参数:replacer and space.

// converting a simple javascript object to JSON object
let my_details = {
"name" : "John",
"age " : "31" ,
"photo" : "

【May Be DNK】JSON.parse() and JSON.stringify()的两个实用技巧的相关教程结束。

《【May Be DNK】JSON.parse() and JSON.stringify()的两个实用技巧.doc》

下载本文的Word格式文档,以方便收藏与打印。

  • protobuf和json区别有哪些
    protobuf和json区别有哪些

    数据结构:Protobuf 是一种二进制的数据序列化格式,它的数据结构是二进制编码的,而 JSON 是一种文本的数据序列化格式,它的数据结构是文本的键值对。 数据大小:由于 Protobuf 是二进制的数据格式,相比于 ...

    2024-05-07编程代码,
  • MsgPack和JSON在Redis序列化中的效率怎么样
    MsgPack和JSON在Redis序列化中的效率怎么样

    在Redis中,MsgPack比JSON更高效。MsgPack是一种二进制数据格式,相比于JSON的文本格式,MsgPack更加紧凑和高效。这意味着在将数据序列化成MsgPack格式存储到Redis时,占用的空间会更小,同时在数据解析和操作时...

    2024-04-29编程代码,,
  • Redis序列化使用XML还是JSON
    Redis序列化使用XML还是JSON

    Redis通常使用JSON进行序列化,因为JSON格式轻量且易于阅读和解析。相比之下,XML格式相对冗长且复杂,不太适合用作Redis的序列化格式。 JSON的优点包括易于编码和解码、可读性高、数据结构简单等。因此,在Redis...

    2024-04-29编程代码,,
  • java怎么调用json接口
    java怎么调用json接口

    在Java中调用JSON接口可以使用许多不同的方式,其中最常用的方法是使用HttpURLConnection或HttpClient库来发送HTTP请求并获取JSON响应。以下是一个简单的示例代码: import java.io.BufferedReader; import java....

    2024-04-23编程代码,
  • Ruby中JSON处理的方法是什么
    Ruby中JSON处理的方法是什么

    在Ruby中,处理JSON数据的方法是使用内置的JSON标准库。可以使用该库中的方法来解析JSON数据、将数据转换为JSON格式。以下是一些常用的JSON处理方法: 将Ruby对象转换为JSON格式: require 'json' d...

    2024-04-13编程代码,
  • APICloud开发者进阶之路 | 超级实用技巧
    APICloud开发者进阶之路 | 超级实用技巧

    金秋9月,脑海还是北京的“中非合作蓝”!今天按照惯例,柚子君还是要督促大家充充电的! 本周《30天,App开发从0到1》将要给大家分享第十章超级实用技巧,我们精选了其中的一个章节--地图模块的实用扩展:在地图上...

    2024-03-14编程代码,,
  • js中json和对象的区别是什么
    js中json和对象的区别是什么

    本篇内容主要讲解“js中json和对象的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js中json和对象的区别是什么”吧! 什么是json ? json怎么用的(怎么定...

    2024-03-14编程代码,
  • js json怎么转换为excel
    js json怎么转换为excel

    这篇文章主要介绍“js json怎么转换为excel”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js json怎么转换为excel”文章能帮助大家解决问题。 js json转换为excel的方...

    2024-03-14编程代码,,