var data = "user_Name="+user_Name.val();和var data = {"user_Name":user_Name.val()
答案:2 悬赏:10 手机版
解决时间 2021-02-03 09:10
- 提问者网友:龅牙恐龙妹
- 2021-02-03 05:04
var data = "user_Name="+user_Name.val();和var data = {"user_Name":user_Name.val()};这两种写法为何都对?第二种是JSON写法,那第一种是什么写法?为什么这样写也是对的?求大神指点一下,感激不尽!!!!!!!!
最佳答案
- 五星知识达人网友:佘樂
- 2021-02-03 05:19
这两个不一样呀。
首先,第一个是字符串,第二个是对象。
其次,正确的JSON格式要包含在中括号或大括号中,第一个写法不是JSON格式。正确写法应该是:
var str = "{user_Name:"+user_Name.val()+"}";JSON只是一种数据格式,你可以理解成一串按特定规则组合的字符串,这个字符串可以方便转化为js对象。
最后,按两者是否等效来讲,第一个和第二个不是等效的。因为你不能用前者完全替换后者。
等效的写法是:
var str = "var data = {user_Name:"+user_Name.val()+"}";
eval(str);eval是json转换为js对象的关键。
首先,第一个是字符串,第二个是对象。
其次,正确的JSON格式要包含在中括号或大括号中,第一个写法不是JSON格式。正确写法应该是:
var str = "{user_Name:"+user_Name.val()+"}";JSON只是一种数据格式,你可以理解成一串按特定规则组合的字符串,这个字符串可以方便转化为js对象。
最后,按两者是否等效来讲,第一个和第二个不是等效的。因为你不能用前者完全替换后者。
等效的写法是:
var str = "var data = {user_Name:"+user_Name.val()+"}";
eval(str);eval是json转换为js对象的关键。
全部回答
- 1楼网友:鱼芗
- 2021-02-03 05:50
{"user_name":user_name.val()}
这个格式是正确的,键加了双引号,后面的值如果是定值在考虑是不是数字和字符串,你选择使用的是变量(js代码),所以不用加双引号的!
"user_name":user_name.val();这个格式肯定不正确,因为json对象必须有一对花括号才行!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯