网站首页 > 知识剖析 正文
前言:
啥?JSON谁不会用啊,我天天在用,不就是JSON.stringify()把一个js对象转成json字符串;JSON.parse()把一个js字符串转成js对象么~~。客官,莫急,先把刀收起~,且听我细说,要是这么简单,还写这个干啥,你说是不。
的确,JSON工具也只有这两个方法,是不复杂,不过要想用来这两个方法,还是得下一点工夫滴~。咱先说一下json的基本知识和语法吧
若有基础的童鞋可直接阅读下篇文章:
json基本知识
json全称:JavaScript Object Notation。是一种数据交换的文本格式,2001年由 Douglas Crockford 提出,目的是取代繁琐笨重的 XML 格式。额~~ 过于简单,直接进入语法吧~
json语法
- 数据在名称/值对中
- 每个数据之间用逗号分隔
- 大括号用于保存对象
- 中括号用于保存数组
注意几个点:
- 在js中,只能是普通对象或者是数组当做值,函数,正则,日期对象都不可以
- 普通数据也只能是字符串,数值,布尔,null当做值,undefined不可以,特殊的数值如:NaN,Infinity等都不可充当值
- 键必须在双引号里面,单引号不可以。字符串的值也只能放在双引号里,单引号也不可以
- 数组或者对象最后一个成员不能加逗号
// 以下都是合法的
['true', '1', '张三']
{"name":"张三","age":10,"address":"北京"}
[
{"name":"张三","age":10,"address":"北京"},
{"name":"李四","age":20,"address":"上海"},
{"name":"王五","age":35,"address":"深圳"}
]
{"cities":["北京","上海","深圳"]}
{"name":"","address":null,"cities":[],"info":{}} // ''、null、[]、{} 也是合法的
// 下面的不合法
{"name": "张三", "getName": function () {}} // 不能有函数
{name: "张三", age: 10} // 键名必须放在双引号中
["a", "b", "c",] // 最后一个成员不能加逗号
JSON对象
进入正题,看一下js给我们提供的JSON对象的用法吧,它主要是通过两个方法来处理json数据的~
JSON.stringify()、JSON.parse()
JSON.stringify()
stringify()方法是把一个对象转成json字符串,且以后可以通过parse()方法还原成对象
// 把普通的对象转成json字符串
var person = {
name: '王小五',
age: 10,
city: '北京'
}
JSON.stringify(person) // {"name":"王小五","age":10,"city":"北京"}
// 把数组转成json字符串
var array = [1, '', false, 'true']
JSON.stringify(array) // [1,"",false,"true"]
// 把原始数据转成json字符串
JSON.stringify('to json') // "to json"
JSON.stringify(1) // "1"
JSON.stringify(false) // "false"
JSON.parse()
parse()方法是把一个json字符串转成js对象
var json = '{"name":"王小五","age":10,"city":"北京"}'
var obj = JSON.parse(json)
console.log(obj.name) // '王小五'
由于篇幅有限,本期分成两篇文章,下一篇文章介绍JSON的更高级用法。
关注我,` 知码前端 ` 获取更多知识~~
- 上一篇: JS将JSON字符串转换为JSON对象的方法解析
- 下一篇: Python中JSON的读与写
猜你喜欢
- 2024-11-18 深入了解:JSON.stringify的不可思议之处
- 2024-11-18 你不知道的JavaScript中的5个JSON秘密功能
- 2024-11-18 从业二十年的测试工程师今天给大家分享postman的使用技巧
- 2024-11-18 手把手教你JSON解析完Cube数据,如何输出到Excel
- 2024-11-18 「jQuery-5」 JavaScript对象和json
- 2024-11-18 亲手带你 Debug Fastjson 的安全漏洞
- 2024-11-18 JSON数据格式
- 2024-11-18 你不知道的JSON.stringify神操
- 2024-11-18 JSON如何解析
- 2024-11-18 38.JavaScript:try...catch异常处理
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)