无论是前端解析后端的数据还是做全栈的技术需要,你都可能多少需要知道些 json 的技术点,从 json 的标准格式到 json 的格式转换与传输,再到中转的处理。本文小编与你一起回顾 json 的最强知识点攻略。
javascript 的对象表示法(javascript object notation).json 是用于存储和交换文本信息的语法,类似于 xml,但是比 xml 更小、更快、更易解析。
json 语法是 js 对象表示法的子集。
数字(整数或者浮点数), 字符串(双引号中), 逻辑值, 数组, 对象, null
- var json={"name":"dcd";'obj':{...};"arr":[];......}
- { "name":"runoob", "alexa":10000, "site":null }
- var myObj = { "name":"runoob", "alexa":10000, "site":null };
- for (x in myObj) {
- console.log(myObj[x])
- }
- let myObj = {
- "name": "runoob",
- "alexa": 10000,
- "sites": {
- "site1": "www.runoob.com",
- "site2": "m.runoob.com",
- "site3": "c.runoob.com"
- }
- }
- let x = myObj.sites.site1;
- // 或者
- x = myObj.sites["site1"];
- json 对象
- var str2 = { "name": "asan", "sex": "man" };
- json字符串
- var str1 = '{ "name": "deyuyi", "sex": "man" }';
- let myObj = {
- "name": "网站",
- "num": 3,
- "sites": [
- { "name": "Google", "info": ["Android", "Google 搜索", "Google 翻译"] },
- { "name": "Runoob", "info": ["菜鸟教程", "菜鸟工具", "菜鸟微信"] },
- { "name": "Taobao", "info": ["淘宝", "网购"] }
- ]
- }
- for (let p in myObj.sites) {
- console.log(myObj.sites[p])
- }
- myObj.sites[1] = "Github";
- delete myObj.sites[1];
- let str={ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }
- var obj = JSON.parse(str)
- let datestr = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}';
- var obj = JSON.parse(datestr,
- function(key, value) {
- if (key == 'initDate') {
- return new Date(value);
- } else {
- return value
- }
- }) console.log(obj)
- var obj = eval ("(" + txt + ")");
- JSON.stringify(value[, replacer[, space]])
- var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
- var myJSON = JSON.stringify(obj);
- //对象中包含函数的时候
- var obj = { "name":"Runoob", "alexa":function () {return 10000;}, "site":"www.runoob.com"};
- obj.alexa = obj.alexa.toString();
- var myJSON = JSON.stringify(obj);
jsonp(JSON with Padding) 是 json 的一种 "使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。这种作为跨域常用方案非常常见。
- $.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?",
- function(data) {
- var html = '<ul>';
- for (var i = 0; i < data.length; i++) {
- html += '<li>' + data[i] + '</li>';
- }
- html += '</ul>';
- $('#divCustomers').html(html);
- });
友情链接: 非常赞的在线技术文档哦
来源: https://juejin.im/entry/5a39e6c66fb9a0451b04b067