传入参数怎么作为key来组装json对象

vara="key1"functiontest(a){varb={a:null}}我们想将b的存值为{"key1":null}但是实际操作中他的存值为{"a":null}... var a="key1"

function test(a)
{
var b={a:null}

}
我们想将b的存值为{"key1":null}但是实际操作中他的存值为{"a":null},那么怎么才能实现我们想要达到的效果,a=key1不是确定值。这里只是举例
展开
 我来答
百度网友630577f
2015-11-06 · TA获得超过4165个赞
知道小有建树答主
回答量:733
采纳率:93%
帮助的人:74.7万
展开全部
JSON 表示 "名称 / 值对" 。
例如:

{ "people": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},

{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

]}

Springmvc的 @ResponseBody 注解,即返回json数据。

@RequestMapping(value="/{id}", method = RequestMethod.PUT)
@ResponseBody
public Map update(@PathVariable final Object id, @RequestBody final Map<String, Object> map, HttpServletRequest request) {
Map<String,Object> ret = new HashMap<String,Object>();
//....
return ret;
}

页面上处理json: eval();函数
eg: var jsonobj=eval('('+data+')');

//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。
var myObject = JSON.parse(myJSONtext, filter);
//可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:
myData = JSON.parse(text, function (key, value) {

return key.indexOf('date') >= 0 ? new Date(value) : value; });

//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
var myJSONText = JSON.stringifier(myObject);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ydbt2010
2014-10-22 · TA获得超过144个赞
知道答主
回答量:98
采纳率:0%
帮助的人:78.5万
展开全部
这里出现了重命名的现象,第一个a是一个全局变量,而第二个a是函数test的参数,在实际运行中,你应该是传入了"a"这个字符作为参数才会使得b={"a":null}。

对于新手来说这样很容易混淆变量的应用域,所以不推荐变量的重命名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-10-22 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>cainiao</title>
<style type="text/css">
</style>
<script type="text/javascript">
var a = "key1ww";
    function test (a)
    {
    this.b = eval ("(" + "{\"" + a + "\": null}" + ")");
    }
    var x = new test(a);
    console.log(x.b);
</script>
</head>
<body style="text-align: center;">
</body>
</html>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式