理解JSON的语法
JSON语法可以分为三种类型:
简单值
对象
数组
简单值:
5
"Hello World"
JavaScript字符串与JSON字符串的最大区别在于,JSON字符串必须使用双引号
对象:
JSON中的对象与JavaScript字面量稍微有一些不同。下面是一个JavaScript中的对象字面量
var person={
name:"Qianwei",
age:22
}
这虽然是开发人员在JavaScript中创建对象字面量的标准方式,但JSON中的对象要求给属性加引号。
{
"name":"Qianwei",
"age":22
}
与JavaScript的对象字面量相比,JSON对象有两个地方不一样。首先,没有申明变量(JSOn中没有变量的概念)。其次,没有末尾的分号(因为这不是JavaScript语句,所以不需要分号)。再说一遍,对象的属性必须加引号,这在JSON中是必须的。属性的值可以是简单值,也已是复杂类型值。
{
"name": "Qianwei",
"age": 22,
"school": {
"name": "anqing",
"lOaction": "Anqing"
}
}
这个例子在顶级对象中嵌入了学校信息。虽然有两个“name”属性,但是是不一样的。
数组:
JSON中的第二种复杂数据类型是数组。JSON数组采用的就是JavaScript中的数组字面量形式:
var value = [25,"hi",true]
在JSON中,可以采用同样的语法表示同一个数组:
[{
"title": "Pro",
"author": "Qianwe",
"edition": 3,
"year": 2100
},
{
"title": "Pro",
"author": "Qianwe",
"edition": 4,
"year": 2100
},
{
"title": "Pro",
"author": "Qianwe",
"edition": 2,
"year": 2100
}
]
解析和序列化:
可以把JSON数据结构解析为有用的JavaScript对象。
[{
"title": "Pro",
"author": "Qianwe",
"edition": 3,
"year": 2100
},
{
"title": "Pro1",
"author": "Qianwe",
"edition": 4,
"year": 2100
},
{
"title": "Pro2",
"author": "Qianwe",
"edition": 2,
"year": 2100
}
]
------------------------------------------------------------
books[2].title //pro2
JSON对象:
JSON对象有两个方法:stringify()和parse()。在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生的JavaScript值。
var books = {
"title": "Pro",
"author": "Qianwe",
"edition": 4,
"year": 2100
};
var jsonText = JSON.stringify(books);
console.log(jsonText) //{"title":"Pro","author":"Qianwe","edition":4,"year":2100}
console.log(typeof jsonText) //string
var books = {
"title": "Pro",
"author": "Qianwe",
"edition": 4,
"year": 2100
};
var jsonText = JSON.stringify(books);
console.log(jsonText) //{"title":"Pro","author":"Qianwe","edition":4,"year":2100}
console.log(typeof jsonText) //string
var parseText = JSON.parse(jsonText);
console.log(parseText)
/*
{title: "Pro", author: "Qianwe", edition: 4, year: 2100}
author
:
"Qianwe"
edition
:
4
title
:
"Pro"
year
:
2100
__proto__
:
Object
*/
console.log(typeof parseText) //object
理解JSON的语法的更多相关文章
- 深入理解JSON对象
× 目录 [1]语法规则 [2]stringify [3]parse[4]eval 前面的话 json(javascript object notation)全称是javascript对象表示法,它是 ...
- JSON:如果你愿意一层一层剥开我的心,你会发现...这里水很深——深入理解JSON
我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看 ...
- 深入理解 JSON
我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看 ...
- 理解JSON:3分钟课程
理解JSON:3分钟课程 博客分类: Java综合 jsonAjaxJavaScriptXMLLISP 本文是从 Understanding JSON: the 3 minute lesson 这篇文 ...
- Json的语法及使用方法
Json的语法及使用方法 Json(JavaScript Object Notation)对象表示标识,是一种轻量级的数据交换语言,比XML更容易解析,独立于语言和平台. 语法规则: 对象用{}保存 ...
- JSON.stringify 语法实例讲解+easyui data-options属性+expires【申明:来源于网络】
JSON.stringify 语法实例讲解+easyui data-options属性+expires[申明:来源于网络] JSON.stringify 语法实例讲解:http://www.jb51. ...
- [转]JSON.stringify 语法实例讲解
原文地址:http://www.jb51.net/article/29893.htm 作用:这个函数的作用主要是为了系列化对象的. 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类 ...
- JSON.stringify 语法解释
行为:此函数的作用主要是串行化对象. 或许有些人是过敏的字系列.我非常理解easy.是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个例如说,你有一个类,那么你能够通过这 ...
- json基础教程|理解Json
一. 在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.这一期讨论一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地 ...
随机推荐
- BZOJ4355: Play with sequence
BZOJ4355: Play with sequence https://lydsy.com/JudgeOnline/problem.php?id=4355 分析: 模板题. 把\(2\)操作看成先区 ...
- php7 新特性整理
PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好. 在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PHP ...
- 类和对象(9)—— new和delete
对象动态建立和释放 new 和delete 在软件开发过程中,常常需要动态地分配和撤销内存空间,例如对动态链表中结点的插入与删除.在C语言中是利用库函数malloc和free来分配和撤销内存空间的.C ...
- 基于JQ的多选/全选/反选及获取选中的值
<!-- author:青芒 --> <!DOCTYPE html> <html lang="en"> <head> <met ...
- [转]【技术心得】Last-Modified,Etag,Expire区别
Last-Modified 是什么 Last-Modified 是 HttpHeader 中的资源的最后修改时间,如果带有 Last-Modified ,下一次发送 Http 请求时,将会发生带 If ...
- Sentry入门
指令类型: 创建.删除角色: CREATE ROLE sentry_all; droop role admin_role; 角色授权/撤销权限: 数据库级别角色授权 GRANT ALL ON DA ...
- bzoj 1997 [Hnoi2010]Planar——2-SAT+平面图的一个定理
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1997 平面图的一个定理:若边数大于(3*点数-6),则该图不是平面图. 然后就可以2-SAT ...
- Python 函数之定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号: 然后,在缩进块中编写函数体,函数的返回值用return语句返回. 1.定义一个函数 def myfirst( ...
- php之laravel学习
http://laravel-china.github.io/php-the-right-way/#composer_and_packagist laravel 添加 dingoapi路由插件 并运用 ...
- vijos1098:合唱队形
描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…, ...