• JSON字符串和JSON对象


    今天来讲讲,之前虽然一直在提交数据,但是还是没有明白这个里面的区别,其实这个当javascript基础到达一定基础了,理解并不难  

    代码如下:var str = "{name:'David',age : '22'}";

    所以大家在控制台下看到了这个结果,typeof判断了str 是字符串;

    然后看下js对象:

    var obj = {name:'David',age'22'};

    大家看得出就是这个区别

    在用ajax 传输数据的时候 我们一般采用json字符串来传递,所以就牵涉到字符串与对象相互转换的过程。

    1.JSON字符串转换为JSON对象

    01.eval方法

    有效,但是不推荐

    02.new Function形式

    03.使用JSON自带的方法

    刚刚我举例的str里面的属性没有用字符串表示所以在JSON自带下方法使用JSON.parse(str);在所有浏览器下均会报错,因此从新建立一个例子

    报错1:

    报错2:

    正确3:

    由此看出JSON字符串对于写法比较严格,所以各位同学在自己写的时候多注意

    2.JSON对象转换为JSON字符串

    01.使用JSON自带JSON.stringify(obj);

    02.使用JSON包带obj.toJSONString()方法可以做出来

    3.对于JSON的兼容性

    ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。
    目前 IE8(S)/Firefox3.5+/Chrome4/Safari4/Opera10 已实现了该方法。

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

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

    结尾句:其实以上只是原生js的当然JQ也封装了转换的方法可以使用jq的方法

    传送门:http://www.css88.com/jqapi-1.9/jQuery.parseJSON/

    方法有各种,大家还可以总结可以发在评论下!

  • 相关阅读:
    [uoj276][清华集训2016]汽水——分数规划+点分治
    [bzoj3143][Hnoi2013]游走——动态规划+高斯消元
    TypeScript笔记八
    TypeScript笔记七
    TypeScript笔记六
    TypeScript笔记五
    TypeScript笔记四
    TypeScript笔记三
    TypeScript笔记二
    TypeScript笔记一
  • 原文地址:https://www.cnblogs.com/wxwdavid/p/4908171.html
Copyright © 2020-2023  润新知