js解析与序列化json数据(二)序列化探讨

JS解析与序列化JSON数据(二) - 序列化探讨

什么是序列化?

序列化是指将对象(Object)、数组(Array)等复杂的数据类型转换成字符串的过程,方便在不同平台上的传输和存储。在JavaScript中,序列化的主要应用是在数据传输和存储时,将复杂的数据类型转换为字符串,再通过反序列化,将字符串转回原来的数据类型。

序列化方法

JavaScript中常用的序列化方法有两种:JSON.stringify()和toString()

JSON.stringify()

JSON.stringify(obj, [replacer], [space])方法可以将一个JavaScript对象序列化成JSON字符串,其中,第一个参数是要序列化的对象,第二个参数可选,可以是一个函数,也可以是一个数组,用来过滤要序列化的属性,第三个参数也可选,用来控制JSON字符串的缩进和格式。

let foo = {name:'Jack', age:18, gender:'male'};
let json = JSON.stringify(foo);
console.log(json);  // {"name":"Jack","age":18,"gender":"male"}

toString()

toString()方法将对象转换为字符串,但它不能实现JSON数据的生成,仅限于将对象转换为字符串。

let foo = {name:'Jack', age:18, gender:'male'};
let str = foo.toString();
console.log(str);  // [object Object]

序列化示例

下面是两个序列化的示例:

示例一

let movie = {
  title: 'The Shawshank Redemption',
  actor: {
    name: 'Tim Robbins',
    age: 62,
    gender: 'male'
  },
  director: {
    name: 'Frank Darabont',
    age: 60,
    gender: 'male'
  }
}

let json_movie = JSON.stringify(movie);
console.log(json_movie);

执行结果:

{
  "title":"The Shawshank Redemption",
  "actor":{
    "name":"Tim Robbins",
    "age":62,
    "gender":"male"
  },
  "director":{
    "name":"Frank Darabont",
    "age":60,
    "gender":"male"
  }
}

示例二

let person = {
  name:'Tom',
  age:28,
  gender:'male',
  profession:'Engineer',
  interests:['reading','music','travel'],
  setAddress:function(city, area){
    this.address = {
      city:city,
      area:area
    }
  }
}

person.setAddress('Shanghai','Pudong');

let json_person = JSON.stringify(person, ['name', 'age', 'interests', 'address']);
console.log(json_person);

执行结果:

{
  "name":"Tom",
  "age":28,
  "interests":["reading","music","travel"],
  "address":{
    "city":"Shanghai",
    "area":"Pudong"
  }
}

以上是JS解析与序列化JSON数据(二) - 序列化探讨的完整攻略,其中包含两个示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js解析与序列化json数据(二)序列化探讨 - Python技术站

(0)
上一篇 4天前
下一篇 4天前

相关文章

  • Vue中引入json的三种方式总结

    一共有三种方式可以在Vue中引入JSON文件,分别是通过异步请求、在Vue文件中直接定义JSON数据、在Vue组件中导入JSON文件。以下是每一种方式的详细讲解: 1. 异步请求 使用异步请求可以从其他地方获取JSON文件,在Vue组件中引入数据。 在Vue组件的created或mounted生命周期钩子函数中,使用axios或fetch等方式进行异步请求,…

    JavaScript 4天前
    00
  • JavaScript开发的七个实用小技巧(很有用)

    下面是“JavaScript开发的七个实用小技巧(很有用)”的完整攻略。 1. 使用数组的slice方法复制一个数组 有时候我们需要将一个数组完整地复制到另一个数组中。在JavaScript中,我们可以使用slice方法来完成这个任务。 const arr1 = [1, 2, 3, 4, 5]; const arr2 = arr1.slice(); cons…

    JavaScript 2023年5月17日
    00
  • Javascript window对象详解

    Javascript window对象详解 window对象是JavaScript中的全局对象,它代表浏览器窗口或标签页。在网页中,我们经常使用window对象来操作浏览器窗口、加载新的文档等。 获取窗口的大小和位置 要获取窗口的大小和位置,我们可以使用window.innerWidth、window.innerHeight、window.outerWidt…

    JavaScript 4天前
    00
  • js将类数组对象转换成数组对象

    将类数组对象转换成数组是 JavaScript 中常见的操作,类数组对象通常具有数字索引以及 length 属性,但不具有数组的一些操作方法。下面是将类数组对象转换成数组对象的完整攻略。 方法一:使用 Array.from() 可以使用 Array.from() 方法将类数组对象转换成一个新的数组。Array.from() 接受一个类数组对象或可迭代对象,并…

    JavaScript 4天前
    00
  • 15个简单的JS编码标准让你的代码更整洁(小结)

    15个简单的JS编码标准让你的代码更整洁(小结) 本文为大家整理了15个简单的javascript编码标准,帮助开发人员写出更加干净整洁的代码,提高可维护性和可读性。 1. 使用=== 比较运算符 使用=== 比较运算符可以避免类型不同比较混淆和类型自动转换的问题。 2. 使用const 或 let, 不使用 var 使用 const 或 let 比 var…

    JavaScript 2023年5月18日
    00
  • javascript计算对象长度的方法

    当我们需要计算JavaScript对象的长度时,可能会遇到一些困惑。在JavaScript中,通常使用对象字面量(例如{})或构造函数创建对象。计算对象字面量和构造函数对象长度的方法略有不同。 计算对象字面量数量的方法 计算对象字面量数量的一种常见方法是使用Object.keys()方法。它会返回对象中属性名称的数组。通过计算该数组的长度,我们可以得知对象字…

    JavaScript 4天前
    00
  • js实现精确到毫秒的倒计时效果

    实现精确到毫秒的倒计时效果一般可以通过以下步骤完成: 获取两个日期之间的时间差:当前时间和目标时间(倒计时结束时间)。 将时间差转换成需要展示的格式:天、时、分、秒、毫秒。 更新时间差并展示倒计时效果。可以使用定时器 setInterval 或 requestAnimationFrame 实现倒计时的更新。 下面是具体步骤的示例代码: 步骤一:获取时间差 c…

    JavaScript 4天前
    00
  • JavaScript面向对象中接口实现方法详解

    JavaScript面向对象中接口实现方法详解 在JavaScript面向对象编程中,我们常常需要定义接口(interface)来规定类(class)必须实现的方法。在本篇攻略中,我们将详细讲解如何实现JavaScript中的接口。 什么是接口? 在编程中,接口是一种规范或者约束,它定义了类或者对象应该实现的方法或者属性。接口规定了类或者对象必须实现的一组方…

    JavaScript 4天前
    00
  • JavaScript eval()函数定义及使用方法详解

    JavaScript eval()函数定义及使用方法详解 简介 eval()是JavaScript内置函数之一,它可以把一个字符串解释为JS代码并且执行。使用eval()函数需要非常小心,因为不正确使用会导致安全问题。 语法 eval()函数的语法如下: eval(string) 其中string为一个包含JS代码的字符串。 使用方法 简单使用 下面我们看一…

    JavaScript 4天前
    00
  • js给对象动态添加、设置、删除属性名与属性值实例代码

    让我们来详细讲解“js给对象动态添加、设置、删除属性名与属性值实例代码”的完整攻略。 添加属性名与属性值 我们可以使用点号(.)或者方括号[]的方式来向对象动态添加属性名和属性值。 点号添加 点号添加属性名和属性值的方式简单易懂,只需要在对象名后面接一个点号,再加上新的属性名,然后设置属性值即可。如下面这个例子: let obj = { name: &quo…

    JavaScript 4天前
    00