用json后,为什么属性不用加单引号了呢?

来源:6-2 完美运动框架

小马小宝贝

2015-12-12 15:43

用json后,为什么属性不用加单引号了呢?

写回答 关注

3回答

  • 慕男婶
    2015-12-12 16:05:53
    已采纳

    并不清楚你提的是什么问题。。

    正确的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种形式虽然是正确的,但不建议使用,容易挨打


    weibo_...

    [{ "name":'前端开发基础', "open":true }] 兄弟你看,这样写json文件也是报错的,这是为什么呢?

    2019-12-05 15:55:09

    共 3 条回复 >

  • 慕男婶
    2015-12-12 16:38:18

    第一种写法并不是json。。'width'是个字符串。。第二种写法{width:400}是一个对象(写法参见我的第一次回答),所以可以不用写引号。。明白否?

    小马小宝贝

    次懂非懂,还得再看看。我没说第一种方法是json。

    2015-12-13 08:46:36

    共 1 条回复 >

  • 小马小宝贝
    2015-12-12 16:25:00
    startMove(obj,'width',400);   //不用json时是这样的
    
    startMove(obj,{width:400});   //用json是这样的。为什么width不用加单引号了呢?


JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题