资讯专栏INFORMATION COLUMN

JS学习之JSON数据格式

isaced / 3343人阅读

摘要:简析简介,是一种数据格式而不是编程语言,它和并没有从属关系,任何编程语言都可以使用语法规则分为三类简单值与语法相同,可以在中表示字符串,数值,布尔值和,但是其不支持数值字符串对象键值和键名都得用双引号数组解析和序列化目标对象,过滤器,字符串

JSON简析

1.简介

JSON,是一种数据格式不是编程语言,它和JavaScrip并没有从属关系,任何编程语言都可以使用JSON;

2.语法规则

JSON分为三类

简单值:与JS语法相同,可以在JSON中表示字符串,数值,布尔值和null,但是其不支持undefined;

5  // 数值
 "Hello World"  //字符串

对象:键值和键名都得用双引号;

let person  = {
"name":"Tom",
"age" : "18"}

数组

[25, "hello", true]
[{"name":"Tom"},
 {"name":"Lily"}]

3.解析和序列化

JSON.stringify(目标JS对象,过滤器,字符串缩进)(JS对象---->JSON对象)

let person= {
 name: "Tom",
 age  : 18,
 language:"Eng"
}
//1.过滤器
 数组形式
   let res = JSON.stringify(person,["name","age"])
   //{ name: "Tom", "age"  : 18}
 函数形式
     let res = JSON.stringify(person,(key,value)=>{
     switch(key){
       case "name":
          return value;
       case "age""
          return 20;
       case "language";
          return undefined }}) //返回undefined删除该属性
  //{name: "Tom", "age"  : 20}
//2.字符串缩进
 数字形式
  let res = JSON.stringify(person,null,4),每行缩进4字符,最大为10,过10也为10;
 字符形式
   let res = JSON.stringify(person,null,"--")空格被-代替,最大为10,过10为10

JSON.parse(目标JSON对象,过滤器)(JSON对象---->JS对象)

 let res = JSON.parse(person,(key,value)=>{
     switch(key){
       case "name":
          return value;
       case "age""
          return 22;
       case "language";
          return undefined }}) //返回undefined删除该属性
  //{name: "Tom", "age"  : 22}

4.注意

字符串必须用双引号;

对象的键值对也不用双引号,若是number,boolean,或者null可不用;

参考资料:《JS高级程序设计》

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89418.html

相关文章

  • JavaScript机器习之线性回归

    摘要:不能用于机器学习太慢幻觉矩阵操作太难有函数库啊,比如只能用于前端开发开发者笑了机器学习库都是开发者机器学习库神经网络神经网络自然语言处理卷积神经网络一系列库神经网络深度学习我们将使用来实现线性回归,源代码在仓库。 译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师。 原文: Machine Learning with JavaScript : Part 1 ...

    gitmilk 评论0 收藏0
  • php习之留言板

    摘要:用到对数据进行删除,具体请看的编写相关姿势有发送请求字符串模板页面元素内容赋值请求返回到这,整体结构就完成了。 前言 在对php语法有一定了解之后开始,这是第一个php练手项目,涵盖的知识有 公共部分的引用 表单的提交 请求的接收与响应 interface+implements的使用 基于文件的所处理的增删改查 json的格式化与字符串序列化 项目地址message boardps...

    biaoxiaoduan 评论0 收藏0
  • Java培训习之Java开源软件的汇总

    摘要:开源软件的汇总开源插件是一个类似于的插件,它可以帮助你在不退出的环境下浏览本地文件系统。事件模型支持基于的事件提交。开源容器是一个非侵入式的对象反转控制容器容器。开源插件提供一个可针对文件语法进行着色的编辑器。 Java开源软件的汇总:EcSplorer 【Java开源 Eclipse插件】EcSplorer(Eclips...

    qiangdada 评论0 收藏0
  • node 核心模块习之 Buffer

    摘要:核心模块学习之何为在引入之前,没有能读取和操作二进制数据流的机制,作为引入,以便能和网络流文件流等进行交互。返回值写入的实际大小,没有足够的空间保存,只会写入一部分。返回值实际存入的字节数。参考文章一进阶核心模块常用使用总结 node 核心模块学习之Buffer 何为 Buffer 在ES6引入 TypeArray 之前,JS没有能读取和操作二进制数据流的机制,Buffer 作为 No...

    soasme 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<