JSON 基本语法和使用

文章目录

  • 定义
  • 语法
    • 基本规则
    • JSON 值
  • 使用
    • 访问对象
    • 访问数组
    • JSON.parse()
    • JSON.stringfy()
    • JavaScript 函数 eval()
  • 参考文章

定义

JSON 指的是 JavaScript 对象中一个表示的方法。
JSON 通常用于与服务端交换数据。
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。

语法

基本规则

数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组

JSON 值

(1)数字(整数或浮点数)

{ "age":30 }

(2)字符串(在双引号中)

{ "nickname":"我爱你中国"}

(3)逻辑值(true 或 false)

{ "isChange":true}

(4)数组(在中括号中)

{
"sites": [
{ "name":"百度" , "url":"www.baidu.com" }, 
{ "name":"google" , "url":"www.google.com" }, 
{ "name":"微博" , "url":"www.weibo.com" }
]
}

(5)对象(在大括号中)

{ "name":"菜鸟教程" , "url":"www.runoob.com" }

(6)null

{ "name":null }

使用

访问对象

(1)

var myObj, x;
myObj = { "name":"runoob", "alexa":10000, "site":null };
x = myObj.name;

(2)

var myObj, x;
myObj = { "name":"runoob", "alexa":10000, "site":null };
x = myObj["name"];

(3)

var myObj = { "name":"runoob", "alexa":10000, "site":null };
for (x in myObj) {
    document.getElementById("demo").innerHTML += myObj[x] + "
"
; }

(4) 嵌套对象

myObj = {
    "name":"runoob",
    "alexa":10000,
    "sites": {
        "site1":"www.runoob.com",
        "site2":"m.runoob.com",
        "site3":"c.runoob.com"
    }
}
//访问
x = myObj.sites.site1;
//修改
myObj.sites.site1 = "www.google.com";
// 删除
delete myObj.sites.site1;

访问数组

(1)

{
"name":"网站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao" ]
}
//访问
x = myObj.sites[0];

// 循环访问
for (i in myObj.sites) {
    x += myObj.sites[i] + "
"
; }

(2) 嵌套对象

myObj = {
    "name":"网站",
    "num":3,
    "sites": [
        { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
        { "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },
        { "name":"Taobao", "info":[ "淘宝", "网购" ] }
    ]
}
//访问
for (i in myObj.sites) {
    x += "

" + myObj.sites[i].name + "

"
; for (j in myObj.sites[i].info) { x += myObj.sites[i].info[j] + "
"
; } } // 修改 myObj.sites[1] = "Github"; // 删除 delete myObj.sites[1];

JSON.parse()

在接收服务器数据时一般是字符串。可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
实例:

{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }

转化为javascript对象

var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');

JSON.stringfy()

在向服务器发送数据时一般是字符串。可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
实例:

var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};

转换为字符串:

var myJSON = JSON.stringify(obj);

JavaScript 函数 eval()

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。

var txt = '{ "sites" : [' +
'{ "name":"菜鸟教程" , "url":"www.runoob.com" },' +
'{ "name":"google" , "url":"www.google.com" },' +
'{ "name":"微博" , "url":"www.weibo.com" } ]}';
var obj = eval ("(" + txt + ")");

参考文章

菜鸟JSON教程

你可能感兴趣的:(前端,json,javascript)