JSON对象的使用
最近总是用到json用来存取数据,所以去学习了一下json,没有很系统,一些很零碎的东西
一、首先来了解下概念
JSON: JavaScript对象表示法(JavaScript Object Notation)
JSON是存储和交换信息的语法。
JSON使用JavaScript语法来描述数据对象,但仍然独立于语言和平台。在文本格式上和创建JavaScript对象一样,也因为这中相似性,无需解析器,JavaScript能使用内建的eval()函数,用JSON数据来生成原声的Javascript对象。
二、JSON存储数据方式有这两种:
对象方式存储
{ "name": "tom","age":14 }数组方式存储
{
"person":[
{"name": "zhaoda", "age": 15},
{"name": "wangming", "age": 16},
{"name": "lisan", "age": 19}]
}数组里可以包含多个对象
三、JSON的访问
例:
var employments = [
{"name": "zhaoda", "age": 15},
{"name": "wangming", "age": 16},
{"name": "lisan", "age": 19}
]访问JSON里的数据和访问数组一样
var temp = employments[2].name//访问数组第三个元素的name并复制给temp
console.log(temp)//输出 lisan
我们也可以修改JSON里的数据
employments[0].age = 20; // 这样的话 wangming的age变成20了;
四、我们知道了这些就知道了基本的JSON的知识了,那么当我们的JSON是上面的以数组的方式存储在一个单独的文件里我们又该怎么去取出然后使用数据呢?!
下面就是一种方法
function loadJSON(json_url) {
var actual_JSON = [];
var json = new XMLHttpRequest();
json.overrideMimeType("application/json");
json.open("GET", json_url, false);
json.onreadystatechange = function () {
if (json.readyState == 4 && json.status == "200") {
actual_JSON = JSON.parse(json.responseText);
}
}
json.send(null);
return actual_JSON;
}利用上面的一个函数就可以方便的取出JSON里数据并且可以使用了,也许你会问上面的JSON.parse()是什么呢,我们要知道JSON里的数据存储和localStorage里一样的,都是只可以一字符串的方式存储,所以我们使用的时候是需要将其转换为对象的来使用的,
这是两个方法:
var array= []; var temp =JSON.stringify(array)//将数组转换成字符串 JSON.parse(temp)//将字符串转换成对象