zoukankan      html  css  js  c++  java
  • 为什么 JSON 接口的数据都要加双引号!!!不能用单引号

    原因是:Javascript 在很多时候会把 JSON 对象里面没有双引号包围的值,当做数值处理。比如:

    {"a":987654321}

    这个 JSON 里头的变量 a,会被当做一个整数 987654321 看待,而:

    {"a":"987654321"}

    这个 JSON 里头的变量 a,会被当做一个字串,字串的内容是“987654321”看待。

    而 Javascript 在内部,会把 987654321 这样的东西当做整数,自动转换成 C int 类型,而缺省情况下,int 类型都是 32 bits的,也就是说,稍微大一点的数就有可能导致溢出。

     

     

    正确的JSON是这样的:属性名必须用双引号包裹

     

    var json = '{"name":"imooc"}'// 这个是正确的JSON格式
     
    var json = "{"name":"imooc"}"// 这个也是正确的JSON格式
     
    var json = '{name:"imooc"}'// 这个是错误的JSON格式,因为属性名没有用双引号包裹
     
    var json = "{'name':'imooc'}";//这个也是错误的JSON格式,属性名用双引号包裹,而它用了单引号
     
    // 检验JSON格式是否正确,可以使用 JSON.parse(json); 如果是正确的JSON格式,会返回一个对象
    // 否则会报错
     
    // 如果是对象的话,属性名可以不用双引号包裹
     
    var obj = {name:"imooc"};
    var obj = {"name":"imooc"};
    var obj = {'name':'imooc'};
    var obj = {"name":'imooc'};
    var obj = {'name':"imooc"};
     
    // 上述写法都是正确的。一般使用第一种形式最多,有些人可能为了保证跟JSON格式的字符串保持一致性,
    // 也会使用第二种形式。。最后3种形式虽然是正确的,但不建议使用,容易挨打

     

  • 相关阅读:
    js中的同步与异步
    全局刷新 局部刷新
    url的组成
    Linux云自动化运维第十二课
    Linux云自动化运维第十一课
    Linux云自动化运维第十课
    Linux云自动化运维第九课
    Linux云自动化运维第八课
    Linux云自动化运维第七课
    Linux云自动化运维第六课
  • 原文地址:https://www.cnblogs.com/caicaizi/p/6483572.html
Copyright © 2011-2022 走看看