- 语法
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 文件的文件类型是 ".json"
JSON 文本的 MIME 类型是 "application/json"
JSON 值:数字、字符串、布尔值、数组、对象、null
(名称: 值):名称必须在双引号中,字符串值必须在双引号中
JSON 不能存储 Date 对象,JSON.stringify会自动将其转换为字符串
JSON 不允许包含函数,但你可以将函数作为字符串存储,之后再将字符串转换为函数(fun = eval("(" + funstr + ")")),JSON.stringify会删除函数属性
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误
- 使用
var myObj = { "name":"runoob", "alexa":10000, "sites":[1, 2, 3] };
for (x in myObj) {
document.getElementById("demo").innerHTML += x + "<br>";
}
delete myObj.sites;
delete myObj.sites[1];
- JSON.parse(text, reviver?):将一个 JSON 字符串转换为 JavaScript 对象
var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}';
var obj = JSON.parse(text, function (key, value) {
if (key == "initDate") {
return new Date(value);
} else {
return value;
}});
document.getElementById("demo").innerHTML = obj.name + "创建日期:" + obj.initDate;
- JSON.stringify(value, replacer?, space?):将 JavaScript 值转换为 JSON 字符串
const str = {"name":"菜鸟教程", "site":"http://www.runoob.com"};
str_pretty2 = JSON.stringify(str, null, 4)
- JSONP
function callbackFunction(result, methodName)
{
var html = '<ul>';
for(var i = 0; i < result.length; i++)
{
html += '<li>' + result[i] + '</li>';
}
html += '</ul>';
document.getElementById('divCustomers').innerHTML = html;
}