江在川上曰:js中的JSON解析和序列化

JSON解析和序列化

JSON是javascript的一个严格的子集,利用了javacript中的一些模式来表示结构化数据。他只是一种数据格式,并非一种编程语言。

JSON语法

JSON可以表示三种类型的值。

类型 说明
简单值 可以在JSON使用String、Number、Boolean和null,但是不能够使用undefined。
对象 是一组无序的键值对,值可以是简单值、也可以是对象、数组。
数组 是一组有序的值的序列,可以通过索引索引值,值可以是简单值、也可以是对象、数组。
var myJson = {"name":"jesse","age":"12","score":{"Chinese":"98","Math":"99","English":"100"},"goods":[{"name":"paper","price":"20"},{"name":"pencil","price":"2"},{"name":"book","price":"1"}]
}

切记:同一个json对象不能出现同名的属性,必须保持唯一性。

JSON解析

语法:JSON.parse(text,[reviver])

作用:将javascript表示的JSON字符串转为JSON对象

参数:

  • text: 必选,一个有效的JSON字符串
  • reviver:可选,一个还原函数,对象中的每一个成员都将使用该函数

返回值:一个对象或数组

let myString = '{"name":"jesse","age":"12","score":{"Chinese":"98","Math":"99","English":"100"},"goods":[{"name":"paper","price":"20"},{"name":"pencil","price":"2"},{"name":"book","price":"1"}]}';
JSON.parse(myString)

得到:

{"name":"jesse","age":"12","score":{"Chinese":"98","Math":"99","English":"100"},"goods":[{"name":"paper","price":"20"},{"name":"pencil","price":"2"},{"name":"book","price":"1"}]
}

JSON序列化

语法:JSON.string(value,[replacer],space)

作用:将javascript表示的json对象转为json字符串

参数:

  • value:必选,需要转换的json对象
  • replacer:可选,过滤器,用于转换结果的函数或数组
  • space:可选,用于控制结果中的缩进和空白符。
  • 返回值:一个包含json文本的字符串
var myJson = {"name": "jesse","age": "12","score": {"Chinese": "98","Math": "99","English": "100"},"goods": [{ "name": "paper", "price": "20" },{ "name": "pencil", "price": "2" },{ "name": "book", "price": "1" }]}
JSON.stringify(myJson)

得到:

{"name":"jesse","age":"12","score":{"Chinese":"98","Math":"99","English":"100"},"goods":[{"name":"paper","price":"20"},{"name":"pencil","price":"2"},{"name":"book","price":"1"}]}

江在川上曰:js中的JSON解析和序列化相关推荐

  1. 江在川上曰:vue中使用swiper

    vue中使用swiper 1 安装 //这是swiper组件 npm install vue-awesome-swiper --save-dev //这是swiper组件的依赖包 npm instal ...

  2. 江在川上曰:云服务器上的flask项目部署(Ubuntu+Flask+Gunicorn+Supervisor+Nginx+Anaconda)

    云服务器上的flask项目部署(anaconda.python.flask等相关安装) 在探索未知的路上走了很多弯路,这里记载了我在阿里云上部署项目切实可行的步骤,当然问题因人而异,没有四海皆适用的准 ...

  3. 江在川上曰:JS函数

    函数 函数的定义方式 自定义函数(命名函数) 函数表达式(匿名函数) 利用 new Function("参数1","参数2","函数体") ...

  4. 江在川上曰:webpack前端工程化

    前端工程化 1.模块化相关规范 1.1浏览器端模块化规范 名称 文件 AMD Require.js CMD Sea.js 1.2 服务器端模块规范 common.js 1.3 大一统的模块化规范(ES ...

  5. 江在川上曰:less样式预编译

    less样式预编译 1.css原生变量定义 使用"–"进行变量定义 使用var()进行变量的引用 --bgColor:red; background:var(--bgColor); ...

  6. 微信小程序JS中写Json解析for 数组的用法

    前言: 1 JS作为小程序的函数库,大家可以作为一个模块编写好自己的函数,然后就可以随心所欲的去创作了.Json的调用,比前面我写的更加简洁写,直接贴代码,应该更加容易懂了. 2 刚入手小程序有些语言 ...

  7. js mysql json字符串转数组中_php数据库数据转换为js中的json对象

    / 1.在company数据user表中取出10条数据,保存为数组 2.在将数组转化为json格式,传递给js 3.用json解析器将传递过来的json字符串转化为json对象, 4.用documen ...

  8. JS中生成与解析JSON

    js中生成json对象 js中解析json字符串: 1.eval("..."): var a_id=eval('{"name":123}'); 如果eval中的 ...

  9. JS中生成和解析JSON

    1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name = "jyy"; ...

最新文章

  1. NeHe OpenGL教程 第二十三课:球面映射
  2. 以后看下try,catch在C#下面的成本
  3. 通过例子学Solidity[注释翻译]
  4. [leetcode] 70.爬楼梯
  5. Redis Cluster 伪集群的搭建
  6. Javascript使用技巧-提高工作效率
  7. 51单片机应用行列反转法操纵矩阵键盘
  8. oracle查看视图定义语句_oracle中查询用户表/索引/视图创建语句
  9. 倍福plc有什么优点_倍福工业 PC 有哪些优点?
  10. 不再因BT吃官司 Magnet能否将BT漂白?
  11. Swift 音乐播放demo
  12. mysql创建临时表
  13. 学术会议海报制作和参考
  14. vue+element中引入百度地图
  15. Photoshop制作逼真燃烧的文字效果
  16. PHP+python+nodejs+ springboot+vue 社区互助平台
  17. 实现文字色彩渐变(Mask)
  18. 独家 | 利用深度学习来预测Spotify上的Hip-Hop 流行程度
  19. Android解决fragment来回切换重新实例化问题
  20. springboot基于javaweb校园防疫管理系统毕业设计源码021043

热门文章

  1. sqlserver中,sql语句,按照汉字拼音首字母排序
  2. 如何在win11上运行VC6.0
  3. turn out用法
  4. 教你使用python在终端创建炫酷二维码!!!
  5. 计算机信息系统集成资质涉密信息系统集成资质
  6. Android下载管理问题分析
  7. SQL service基础(九)用户定义数据类型和用户定义函数的概念、创建及使用方法
  8. regexp_substr()用法
  9. #ASM 翻译系列第十八弹:ASM Internal ASM file number 5
  10. html大作业网页代码 ——2019凡客服装店铺商城(1页) HTML+CSS+JavaScript HTML+CSS大作业_ 服装店铺网页制作作业_购物网页设计...