JSON详解
首先要知道JSON是一种轻量级的数据格式,不是一种编程语言,因此其他语言也可以使用。
一、JSON语法
JSON语法可以表现为下面三种值:
1.简单值:字符串、数值、布尔值和null,如"hello json",3,false,null。但是JSON不支持undefined
2.对象:一种复杂的数据类型,表示的是一组无序的键值对,栗子如下:
{
"name":"guozhu",
"age":23,
"hobby":{
"sport":"bicyle",
"music":"guoge"
}
}//每个键值对中的值可以是简单值也可以是复杂数据类型的值
3.数组:与对象一样也是复杂的数据类型,但是它表示的是一组有序的列表,因此可以通过索引值来访问。
[
"xiaohua",23,{
"hobby":"bicyle",
"eat":"apple"
}
]//数组的值可以是简单值、复杂数据类型的值
二、JSON与JS
相同点:JSON简单值与JS语法相同
不同点:1.JSON字符串与JS字符串区别在于JSON字符串必须使用双引号
2.JSON对象没有声明变量、没有末尾分号且对象的属性必须加双引号
3.JSON数组与JSON对象一样没有变量和分号
三、JSON.stringify()方法
stringify()方法用于将JS对象转化为JSON字符串,此方法有三个参数:第一个参数JS对象、第二个参数过滤器、第三个参数是一个选项表示是否在JSON字符串中保留缩进
// JS对象
var person = {
name:"xiaohua",
age:19
}
var joPerson = JSON.stringify(person);
console.log(joPerson);//{"name":"xiaohua","age":19}
上面代码只传入JS对象,打印结果已注释出来,可以看到stringify()输出的JSON字符串不包含空格字符或缩进
现在传入第二个参数过滤器(可以是一个数组或函数)打印一下
var person = {
name:"xiaohua",
age:19,
}
var joPerson = JSON.stringify(person,["age"]);
console.log(joPerson)//{"age":19}
上面代码第二个参数传入的是一个数组,其中有一个字符串与person对象的属性相对应,打印出来的结果也只包含与其对应属性的值
现在传入第三个参数(数值或字符串)用于缩进
var person = {
name:"xiaohua",
age:19,
}
var joPerson = JSON.stringify(person,null,"**");
console.log(joPerson);
打印出来的结果如下图
如上面代码传入的是一个字符串而非数值,则这个字符串在打印出来的JSON字符串中被用作缩进字符串
四、JSON.parse()方法
该方法用于将JSON字符串解析成JS对象
var person = {
name:"xiaohua",
age:19,
}
var joPerson = JSON.stringify(person);
console.log(joPerson);//{"name":"xiaohua","age":19}
var jsPerson = JSON.parse(joPerson);
console.log(jsPerson);
上面代码先用JSON.stringify()方法将person对象转换成JSON字符串,再利用JSON.parse()方法将joPerson(JSON字符串)转换成JS对象
小结:
1.JSON是一个轻量级的数据格式
2.JSON使用JavaScript语法的子集表示对象、数组、字符串、数值、布尔值和null
3.JSON.stringify()方法将JS对象转换成JSON字符串
4.JSON.parse()方法将JSON字符串转换成JS对象
JSON详解的更多相关文章
- JSON详解(转)
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...
- JSON详解(转载)
JSON详解 阅读目录 JSON的两种结构 认识JSON字符串 在JS中如何使用JSON 在.NET中如何使用JSON 总结 JSON的全称是”JavaScript Object Notation”, ...
- javaScript系列:JSON详解
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...
- Spring Boot 之使用 Json 详解
Spring Boot 之使用 Json 详解 简介 Spring Boot 支持的 Json 库 Spring Web 中的序列化.反序列化 指定类的 Json 序列化.反序列化 @JsonTest ...
- 问题:JsonConvert;结果:JSON详解
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...
- JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整
JSON详解 C# String.Format格式说明 C# ListView用法详解 很完整
- c++ json 详解
一. 使用jsoncpp解析json Jsoncpp是个跨平台的开源库,首先从http://jsoncpp.sourceforge.net/上下载jsoncpp库源码,我下载的是v0.5.0,压缩包大 ...
- cookie、json详解
什么是cookie 1.cookie是存储于访问者计算机中的变量2.cookie是浏览器提供的一种机制3.可以由js控制(设置.读取.删除)4.cookie可以实现跨页面全局变量可以跨越同域名下多个网 ...
- C# - JSON详解
最近在做微信开发时用到了一些json的问题,就是把微信返回回来的一些json数据做一些处理,但是之前json掌握的不好,浪费了好多时间在查找一些json有关的转换问题,我所知道的方法只有把json序列 ...
随机推荐
- Android安全相关文章[不定期更新…]
http://drops.wooyun.org/papers/2893 Intent scheme URL attack http://drops.wooyun.org/tips/3812 Andro ...
- js随机生成颜色代码
function generyRandomColor() { return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toStri ...
- java 标签库(核心,xml,sql ,国际化,函数)
java标签库分分为上述几种,一般经常使用的是核心和函数,接下来会分别讲解这几种,和常见的用法. 一般标签库会和el表达式一起使用,所以在学习标签库前最后也学习下el表达式的使用. 导入后展开 可以从 ...
- libsvm下的windows版本中的工具的使用
下载的libsvm包里面已经为我们编译好了(windows).进入libsvm\windows,可以看到这几个exe文件: a.svm-toy.exe:图形界面,可以自己画点,产生数据等. b.svm ...
- ORA-12541:TNS:no listener 客户端tnsnames.ora配置,以及服务端listener.ora配置
需求:客户端(192.168.25.1)需要访问服务端(192.168.7.215)的Oracle库ORCL. 步骤一:配置客户端tnsnames.ora 步骤二:配置服务端listener.ora ...
- zeromq rpc原型
/* Asynchronous request-reply single-threaded server in Python that spawns a request handler each ti ...
- 前端知识杂烩(Javascript篇)
1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区 ...
- Youth -Samuel Ullman
Samuel Ullman(塞缪尔.厄尔曼) Youth is not a time of life,it is a state of mind;青春不是年华,而是心境: it is not a ma ...
- MSP430FR4133/4131/4132单片机破解芯片解密多少钱?
德州仪器MSP430FR4133/4131/4132单片机破解芯片解密多少钱? MSP430FR4133.MSP430FR4131.MSP430FR4132 ####[微信:icpojie]#### ...
- Git - 问题集
1.If no other git process is currently running, this probably means a git process crashed in this re ...