在 JSON.stringify 中使用变量
Posted
技术标签:
【中文标题】在 JSON.stringify 中使用变量【英文标题】:use a variable in JSON.stringify 【发布时间】:2014-03-09 15:22:13 【问题描述】:我在我的节点 restful 服务器中使用 stringify 来提供数据:
answer = JSON.stringify(activities: result, null, '\t');
return answer
其中 result 是一个 js 对象; 我收到了正确的输出:
"activities": [
"id": 1,
"title": aaa
,
"id": 2,
"title": bbb
]
但现在我想在 stringify 函数的左侧使用变量而不是固定字符串;类似:
var name = "activities";
answer = JSON.stringify(name: result, null, '\t');
这不起作用,因为名称在字符串化对象中变成了固定字符串
【问题讨论】:
【参考方案1】:您需要使用索引器表示法构建对象:
var name = ...;
var obj = ;
obj[name] = something;
【讨论】:
使用 ES6,您可以在对象字面量赋值中进行操作,例如 [name]: something
将答案写在问题的语法中以方便用户阅读。【参考方案2】:
您也可以将new
与匿名函数一起使用:
answer = JSON.stringify(new function() this[name] = result; , null, '\t');
【讨论】:
【参考方案3】:如果你想要 JSON.stringify() 对象,那么试试这个:
var field = "my_field_name";
var obj = ;
obj[field] = value;
var myJSON = JSON.stringify(obj);
【讨论】:
以上是关于在 JSON.stringify 中使用变量的主要内容,如果未能解决你的问题,请参考以下文章
JSON stringify 中的变量在 Rest 请求中不起作用
将 JSON.stringify 与 TypeScript getter/setter 结合使用