`
zuoFM99
  • 浏览: 349 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

对JSON使用的一点总结

阅读更多

       在用过javascript写过一段时间的web应用之后,忽然发现JSON是个挺可爱的东西。之前在用php的时候,都是在数据库里面操作数据,当然在数据量比较多的时候数据库挺有用的,但是我感觉JSON作为一种轻量级的数据交换格式,采用完全独立于语言的文本格式。在html5的开发中,它成为理想的数据交换语言。不但阅读、调用和编写方便,同时也易于机器解析和生成。

       JSON的构建只有数组“[]”和对象“{}”两种结构,有这两种结构便可以组成复杂的数据结构。

       因此,为了纪念JSON带给我的愉悦之感,总结了一些对JSON的操作,以示纪念。

       一:遍历

       (1)

 

var info = [{"name":"zhangsan","phone":"1234567"}];
alert(info[0]["name"])//zhangsan
alert(info[0].name)//zhangsan
var info_2 = ['aa','bb','cc'];
alert (info_2[1])//bb

      (2)

 

var value={
    "KFC":{
        "food_a":{"price":"1"},
        "food_b":{"price":"2"},
        "food_c":{"price":"3"}
    },
    "7-11":{
        "food_d":{"price":"4"},
        "food_e":{"price":"5"}
    }
};

for(var restaurant in value)
{
    console.log(restaurant);
    for(var food in value[restaurant])
    {
        console.log(food);
        for(var price in value[restaurant][food])
        {
            console.log(value[restaurant][food][price]);
        }
    }
}
restaurant为value对象的一个属性名
value[restaurant]为value对象的属性值,这里是一个json对象
value[restaurant][food]为value[restaurant]的属性值,也是一个json对象
因此,value[restaurant][food]["price"]或者value[restaurant][food].price便可以取道对应的price值
关于JSON最重要的是要分清楚是json对象还是array。
(3)
var value = {
    "applicant":[
        {"name":"zhangsan","phone":"15987654321"},
        {"name":"lisi","phone":"15912345678"}
    ],
    "activity":[
        {"name":"act1","id":"1"},
        {"name":"act2","id":"2"}
    ]
};

for(var item in value)
{
    console.log(item);
    console.log(value[item].length);
    for(var i = 0;i < value[item].length;i++)
    {
        console.log(value[item][i]["name"]);
    }
}
 item为value对象的一个属性名
value[item]属性值,本例中是一个数组
value[item].length得到对应数组的长度
value[item][i]为数组的项 ,本例中有事一个json对象
value[item][i]["name"]或者value[item][i].name来取得name的值
二:存储
        html5中可以stringify将json转化成字符串储存在localstorage中,需要是再通过JSON.parse转化成json对象。当我们需要向json中增加储存条目的时候,可以按照格式创建一个对象,然后push到json中。
var value = {
    "applicant":[
        {"name":"zhangsan","phone":"15987654321"},
        {"name":"lisi","phone":"15912345678"}
    ],
    "activity":[
        {"name":"act1","id":"1"},
        {"name":"act2","id":"2"}
    ]
};
var item = {"name":"wangwu","phone":"13312345678"};
value.applicant.push(item);
 
 
 
 

 

 

 

        

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics