lpytm

一、在页面js代码中,字符串和javascript对象的转换:

    1、JSON.parse(str) :用于从一个字符串中解析出json对象,如(ie浏览器不支持)
        
        var str = \'{"name":"huangxiaojian","age":"23"}\'
        var rs=JSON.parse(str); 
        
        结果:
                
        Object
                 age: "23"
                 name: "huangxiaojian"
                __proto__: Object



    2、jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。
          所谓"格式完好":
                        就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。

        a:如果传入一个格式不"完好"的JSON字符串将抛出一个JS异常,例如:以下字符串均符合JSON格式,但它们不是格式完好的JSON字符串(因此会抛出异常):
            // 以下均是字符串值,省略了两侧的引号,以便于展现内容:
            {id: 1} // id是属性名称,必须加双引号
            {\'id\': 1} // id是属性名称,必须用双引号(不能用单引号)
            {"name": \'CodePlayer\'} // name属性的值是字符串,必须用双引号(不能用单引号)



        b:JSON标准不允许字符串中出现"控制字符",例如:一个Tab或换行符。
            $.parseJSON(\'{"name": "Code\tPlayer\n"}\'); // 多数情况下,它会抛出一个错误,因为JS解析器会将字符串中的\t或\n等转义直接视作字面值,起到Tab或换行的效果。

            //正确写法应该如下(使用两个反斜杠,以免被JS解析器直接转义\t或\n):
            $.parseJSON(\'{"name": "Code\\tPlayer\\n"}\');


            var str = \'[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]\';
            var rs=jQuery.parseJSON(str);
            
            将json串转换为js对象:通过对象.key可以获取对应的值:
            var url=rs.href=baidu.com;

            




    3、JSON.stringify(a) 用于将一个对象转换为字符串,如

        var a = {a:1,b:2}

        var rs=JSON.stringify(a);

        结果:
                "{"a":1,"b":2}"



    4、JSON.parse()和jQuery.parseJSON()的区别:
            有的浏览器不支持JSON.parse()方法,使用jQuery.parseJSON()方法时,在浏览器支持时会返回执行JSON.parse()方法的结果,
            否则会返回类似执行eval()方法的结果,以上结论参考jquery 1.9.1 得出。

分类:

技术点:

相关文章:

  • 2021-10-19
  • 2022-02-20
  • 2021-10-19
  • 2021-11-18
  • 2021-07-05
  • 2022-12-23
  • 2021-10-19
  • 2021-10-19
猜你喜欢
  • 2022-12-23
  • 2021-04-06
  • 2021-10-19
  • 2021-10-19
相关资源
相似解决方案