为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

3 回答

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

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


2 回复 有任何疑惑可以回复我~
#1

小马小宝贝 提问者

startMove(obj,'width',400); //不用json时是这样的 startMove(obj,{width:400}); //用json是这样的。为什么width不用加单引号了呢?
2015-12-12 回复 有任何疑惑可以回复我~
#2

慕男婶 回复 小马小宝贝 提问者

第一种写法并不是json。。'width'是个字符串。。第一种写法{width:400}是一个对象,所以可以不用写引号。。明白否?
2015-12-12 回复 有任何疑惑可以回复我~
#3

weibo_慕桂英2498933

[{ "name":'前端开发基础', "open":true }] 兄弟你看,这样写json文件也是报错的,这是为什么呢?
2019-12-05 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

小马小宝贝 提问者

次懂非懂,还得再看看。我没说第一种方法是json。
2015-12-13 回复 有任何疑惑可以回复我~
startMove(obj,'width',400);   //不用json时是这样的

startMove(obj,{width:400});   //用json是这样的。为什么width不用加单引号了呢?


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信