资讯专栏INFORMATION COLUMN

JSON入门

leanxi / 3027人阅读

摘要:事实上大部分现代计算机语言都以某种形式支持它们。语法两种表示结构有两种表示结构,对象和数组。对象是一个无序的名称值对集合。值之间使用逗号分隔。目前,主流的浏览器对支持都非常完善。

JSON入门

原文连接

JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式,类似 XML但比 XML 更小、更快,更易解析
初识

JSON是Web开发领域最知名的技术权威Douglas Crockford创造

JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

JSON 是轻量级的文本数据交换格式

JSON 独立于语言

JSON 具有自我描述性,更易理解

JSON建构于两种结构:

“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

JSON语法 两种表示结构

JSON有两种表示结构,对象和数组。

对象是一个无序的“‘名称/值’对”集合。一个对象以{(左括号)开始,}(右括号)结束。每个“名称”后跟一个:(冒号);“‘名称/值’ 对”之间使用,(逗号)分隔。

{
    "name": "xing",
    "age": 999
}

数组是值(value)的有序集合。一个数组以[(左中括号)开始,](右中括号)结束。值之间使用,(逗号)分隔。

[
    {
        key1:value1,
        key2:value2 
    },
    {
         key3:value3,
         key4:value4   
    }
]

语法规则

数据在名称/值对中

数据由逗号分隔

大括号保存对象

中括号保存数组

JSON 值可以是:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在中括号中)

对象(在大括号中)

null

在JavaScript中使用JSON
JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象,使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串.

JSON.parse(text[, reviver])

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

eval()方法 存在性能和安全问题不建议使用

首先我们定义一个对象,由于JSON使用用JavaScript编写的,所以对JSON的操作无异于JavaScript对数组与对象的操作

let Obj = {  
  name: "xing", 
  age: "99", 
  hobby: ["吃", "喝", "玩"]
}

服务器一般返回JSON字符串,我们用 JSON.stringify() 将这个对象转换成JSON字符串模拟服务器返回的数据,然后再用JSON.parse()解析成JSON对象来使用

let jsonStr = JSON.stringify(Obj) // string: {"name":"xing","age":"99","hobby":["吃","喝","玩"]}
let jsonObj = JSON.parse(jsonStr) // Obect: { name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ] }
JSON增删改查
// 读取
let myName = jsonObj.name
console.log(myName) // xing
// 新增
josnObj.sex = "male"
console.log(josnObj) //{ name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ], sex: "female" }
// 修改
josnObj.sex = "female"
console.log(josnObj) // { name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ], sex: "female" }
// 删除
delete josnObj.sex
console.log(josnObj) // { name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ] }

for in遍历JSON数据

for(let x in jsonObj){
  console.log(`${x}:${jsonObj[x]}`)
}
/*
name:xing
age:99
hobby:吃,喝,玩
*/

到此,我们了解JSON的使用,JSON已经是JavaScript标准的一部分。目前,主流的浏览器对JSON支持都非常完善。应用JSON,我们可以从XML的解析中摆脱出来,对那些应用AJAX的Web 2.0网站来说,JSON是目前最灵活的轻量级方案。

参考链接:

json.org

菜鸟教程

MDN

JSON在线解析

原文连接

大家可以关注我的公众号,一起玩耍。有技术干货也有扯淡乱谈,关注回复[888]领取福利

左手代码右手砖,抛砖引玉

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

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

相关文章

  • Json入门

    摘要:的是中包围的是对象,对象的多个键值对用分隔。中包围的是序列理解为数组即可,对象之间用分隔。当你的值要用字符串来索引时,就把数据组织成对象。会得到关于一节中的例子来自 JSON json的MIME type是application/json. {...}中包围的是对象,对象的多个键值对用,分隔。[...]中包围的是序列(理解为数组即可),对象之间用,分隔。当你的值要用字符串来索引时,...

    wwq0327 评论0 收藏0
  • Postman快速入门-接口测试教程,取和引用响应值,断言,json路径写法

    摘要:目录的基础页面的功能解释的基础页面的功能解释如何创建请求如何创建请求提取响应结果中的值然后再其它接口中调用提取响应结果中的值然后再其它接口中调用新建环境来存储环境变量新建环境来存储环境变量在中通过语句提取响应结果 目录 1.Postman的基础页面的功能解释 2.如何创建请求 3.提取 响应...

    Cc_2011 评论0 收藏0
  • JSON入门看这一篇就够了

    摘要:采用完全独立于任何程序语言的文本格式,使成为理想的数据交换语言为什么需要提到,我们就应该和来进行对比。也是一种存储和交换文本信息的手段。那么好在哪里呢比更小更快,更易解析。使用的时候,也支持将转成但是,我们不一定使用框架来做开发呀。 什么是JSON JSON:JavaScript Object Notation 【JavaScript 对象表示法】 JSON 是存储和交换文本信息的语法...

    gplane 评论0 收藏0
  • webpack -> vue Component 从入门到放弃(一)

    摘要:本身也是运行在环境中的模块,它通常会返回一个函数。这个命名规则和搜索优先级顺序在的中定义。那就等下一篇介绍吧,一篇文章有太多内容,会让人很乏的从入门到放弃四从入门到放弃二从入门到放弃三源代码 此篇文章仅仅是整理自己接触webpack的入门过程,可能有很多不正确的地方,希望大家谅解,并指出错误帮助改进。 对于webpack的介绍和前期对他的入门使用,我觉得官方(中文网)已经介绍的很简单了...

    Ashin 评论0 收藏0
  • JS基础入门篇(十二)—JSON和Math

    摘要:对数向上取整对数向下取整取到的随机数。取绝对值举例说明向上取整向下取整随机数值是之间的随机数,包括,不包含。 1.JSON JSON: 对象格式的字符串 轻量的数据传输格式 注意事项: 键名 需要 使用 双引号 包起来 JOSN有两个方法:JSON.parse和 JSON.stringify。 JSON.parse,将后台传来的字符串转化为对象。其字符串的内容就是对象才需要这个转。...

    jone5679 评论0 收藏0

发表评论

0条评论

leanxi

|高级讲师

TA的文章

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