json初步认识

1、JSON是什么

JSON 语法是 JavaScript 语法的子集。

2、JSON格式

       JSON有两种表示结构,对象和数组

对象结构如下:

{
    key1:value1,
    key2:value2,
    ...
}

数组结构如下:

[
    {
        key1:value1,
        key2:value2 
    },
    {
         key3:value3,
         key4:value4   
    }
]

其中 关键字(key)是字符串 ,而 值(value) 可以是 字符串,数值,true,false,null,对象或数组


3、操作JSON(增删改查)

定义JSON对象如下:

var obj = {
            1: "value1",
            "2": "value2",
            count: 3,
            person: [ //数组结构JSON对象,可以嵌套使用
                        {
                            id: 1,
                            name: "张三"
                        },
                        {
                            id: 2,
                            name: "李四"
                        }
                   ],
            object: { //对象结构JSON对象
                id: 1,
                msg: "对象里的对象"    
            }
        };

读取:

alert(obj.1); //会报语法错误,可以用alert(obj["1"]);说明数字最好不要做关键字
alert(obj.2); //同上
alert(obj.person[0].name); //或者alert(obj.person[0]["name"])
alert(obj.object.msg); //或者alert(obj.object["msg"])
增加

//往JSON对象中增加了一条记录
obj.sex= "男" //或者obj["sex"]="男"
增加数据后的JSON对象如图:


修改

obj.count = 10; //或obj["count"]=10

删除:

delete obj.count;

遍历:

for…in…

for (var c in obj) {
                console.log(c + ":", obj[c]);
            }


JSON字符串:  推荐使用官网实现方式(jsp中引入json2.js,基本支持各个游览器)

如:  var jsonStr = '{"firstName":"John4" , "lastName":"Doe4" }';
var obj = JSON.parse(jsonStr);alert(obj.firstName);

1>jQuery插件支持的转换方式: 

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 

2>JSON官方的转换方式 : 
http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法; 
可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

3>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 

JSON.parse(jsonstr); //可以将json字符串转换成json对象 
JSON.stringify(jsonobj); //可以将json对象转换成json对符串 

注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。 

4>Javascript支持的转换方式 : 
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号 
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值