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

yizhihongxing

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)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JS实现可针对算术表达式求值的计算器功能示例

    JS实现可针对算术表达式求值的计算器功能示例 介绍 本文将介绍如何使用JS实现一个可针对算术表达式求值的计算器功能示例。 实现步骤 用户界面实现 首先,我们需要实现一个用户界面,来接收用户输入的算术表达式。在此示例中,我们使用HTML和CSS来实现一个基本的用户界面,示例代码如下: <!DOCTYPE html> <html> &lt…

    JavaScript 2023年5月28日
    00
  • JavaScript数组方法总结分析

    JavaScript数组方法总结分析 数组是JavaScript中一种常用的数据类型,JavaScript提供了多种数组方法,用于对数组进行操作和处理。下面对这些方法进行总结分析。 数组的创建和初始化 在JavaScript中,可以使用 [] 或 Array 构造函数来创建数组。 示例1:使用 [] 创建数组 let arr1 = []; // 空数组 le…

    JavaScript 2023年5月27日
    00
  • js中eval详解

    JS中eval详解 eval 函数是 JavaScript 中的一个内置函数,它将字符串作为代码来解析和执行。这个函数通常被认为是危险的,因为它可以执行任何代码,包括恶意代码,从而导致安全风险。因此在使用 eval 函数时需要格外小心。 eval的语法 eval 函数的语法如下: eval(string) 其中,string 是一个字符串,可以包含任何有效的…

    JavaScript 2023年5月18日
    00
  • go colly 爬虫实现示例

    “Go colly 爬虫实现示例” 是一个基于 Go 语言的爬虫示例,它使用了 colly 库来实现网络爬虫功能。此示例程序涵盖了如何使用 Go 和 colly 库来爬取网站的各种内容,包括 HTML 文本、链接、表单、AJAX 等。 以下是实现这个示例的具体步骤: 步骤 1:准备环境 首先,需要下载和安装 Go 和 colly 库,并安装所需的依赖项。使用…

    JavaScript 2023年5月28日
    00
  • JavaScript之promise_动力节点Java学院整理

    关于JavaScript中的Promise,我们可以从以下几个方面来介绍: 一、Promise概述 Promise是一种异步编程的解决方案,简单来说就是用更优雅的方式解决回调地狱的问题。根据MDN的定义,Promise是一个代表了一个异步操作最终完成或者失败的对象。 二、Promise三种状态 Promise有三种状态:pending(进行中)、fulfil…

    JavaScript 2023年5月28日
    00
  • JavaScript实现简单购物小表格

    下面是“JavaScript实现简单购物小表格”的完整攻略: 1.准备工作 在HTML中,首先要准备一个表格元素,代码如下: <table> <thead> <tr> <th>商品</th> <th>价格</th> <th>数量</th> <th…

    JavaScript 2023年6月11日
    00
  • JavaScript使用类似break机制中断forEach循环的方法

    在JavaScript中,一般使用forEach()方法对数组进行遍历操作。但是,如果在遍历过程中需要中断循环,类似于break操作,可以采用如下几种方式: 方式一:使用some()方法 some()方法会在数组中至少找到一个满足条件的元素时直接返回true,并中断遍历,否则返回false。因此,可以利用some()方法来达到中断forEach()循环的效果…

    JavaScript 2023年5月28日
    00
  • JS中的三个循环小结

    JS中有三个循环语句:for循环、while循环和do-while循环。这三个循环语句都能够让我们方便地对数组或对象进行遍历,执行重复的操作。 1. for循环 for循环是JS中最常用的循环语句之一,能够让你重复执行一个操作多次,for循环含有三个表达式:起始表达式、终止表达式和递增表达式。 语法: for (起始表达式; 终止表达式; 递增表达式) { …

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部