1、JSON
1.1 介绍
JavaScript Object Notation(JavaScript 对象表示法) JavaScript Object Notation(JavaScript对象表示法)。非常多的动态编程语言(PHP、JSP、.NET)支持JSON。
JSON 是存储和交换文本信息的语法。
JSON 比 XML 更小、更快,更易解析。
JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。
1.2 第一个代码
NB-IoT的设备描述文件:
{
"devices": [
{
"manufacturerId": "Huawei",
"manufacturerName": "Huawei",
"model": "NBIoTDevice",
"protocolType": "CoAP",
"deviceType": "WaterMeter",
"serviceTypeCapabilities": [
{
"serviceId": "WaterMeterBasic",
"serviceType": "WaterMeterBasic",
"option": "Mandatory"
},
{
"serviceId": "WaterMeterAlarm",
"serviceType": "WaterMeterAlarm",
"option": "Mandatory"
},
{
"serviceId": "Battery",
"serviceType": "Battery",
"option": "Optional"
},
{
"serviceId": "DeliverySchedule",
"serviceType": "DeliverySchedule",
"option": "Mandatory"
},
{
"serviceId": "Connectivity",
"serviceType": "Connectivity",
"option": "Mandatory"
}
]
}
]
}
1.3 JSON语法
1.3.1 JSON语法规则
1、数据在名称/值对中
JSON的数据书写格式:名称/值对
名称(双引号中):数值
2、数据由逗号分隔
3、大括号保存对象
4、中括号保存数组(可以包含多个对象)
{ "site":["name":"菜鸟教程" , "url":"www.runoob.com"] }
其中”site”是对象名称。
1.3.2 JSON值
数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在中括号中)、对象(在大括号中)、null
1.3.3 JSON使用JSP语法
访问
site[0].name;
修改数据
site[0].name="菜鸟";
1.4 JSON对象
1.4.1 对象语法
在大括号中书写。
对象可以包含多个key/value(键/值)对。
key必须是字符串,value可以是合法的JSON数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
key 和 value 中使用冒号分割。
每个 key/value 对使用逗号分割
1.4.2 访问对象值
方法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"];
1.4.3 循环对象
用for-in来循环对象的属性,返回
name
alexa
site
var myObj = { "name":"runoob", "alexa":10000, "site":null };
for (x in myObj) {
document.getElementById("demo").innerHTML += x + "<br>";
}
用for-in来循环对象的属性,用[]访问
var myObj = { "name":"runoob", "alexa":10000, "site":null };
for (x in myObj) {
document.getElementById("demo").innerHTML += myObj[x] + "<br>";
}
1.4.4 嵌套JSON对象
myObj = {
"name":"runoob",
"alexa":10000,
"sites": {
"site1":"www.runoob.com",
"site2":"m.runoob.com",
"site3":"c.runoob.com"
}
}
用.或者[]访问
x = myObj.sites.site1;
// 或者
x = myObj.sites["site1"];
1.4.5 删除对象
关键字delete删除
delete myObj.sites.site1;
//或者
delete myObj.sites["site1"];
1.5 JSON对象中的数组
1.5.1 JSON数组语法
JSON 数组在中括号中书写。
JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
{
"name":"网站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao" ]
}
1.5.2 循环数组
for-in循环数组,并用[]索引
for (i in myObj.sites) {
x += myObj.sites[i] + "<br>";
}
1.5.3 删除数组元素
关键字delete删除数组元素
delete myObj.sites[1];
2、XML
欢迎关注我的微信公众号
互联网矿工