[英]inserting javascript variable value in json
我有一个 JSON 变量,如下所示:
{"events": [
{"event_id": "1", "event_name": "Breakfast"},
{"event_id": "1", "event_name": "Calling Bob"}
]};
我有两个变量
x=2; y=jam;
我想推送 json 中的变量,使 x 是 event_id,y 是 event_name,这样我的 json 看起来像-
{"events": [
{"event_id": "1", "event_name": "Breakfast"},
{"event_id": "1", "event_name": "Calling Bob"},
{"event_id": "2", "event_name": "jam"}
]};
用于推送的 function 是
k='({"event_id":"'+x+'","event_name":"'+y+'"})';
san.events.push(k);
其中 san 是我存储 json 的变量。我正在解析变量 san 并应用推送操作并将其字符串化并显示它,但结果我的 json 数据语法正在发生变化,就像在 json 中生成额外的“/”符号一样.
JSON对象是JavaScript中的一等公民,您可以将它们用作文字。
var k= {"event_id": x, "event_name":y};
san.events.push(k);
如上所述完全相同:
var k = new Object();
k.event_d = x;
k.event_name = y;
san.events.push(k);
JSON只是一种在JavaScript中表示常规对象的方法。
如果您真的想将字符串转换为JSON,可以使用JSON.parse()
方法,但通常要避免这种情况。
编辑
正如@Alvaro所指出的,即使你可以使用JSON语法创建常规对象,它也不是Object的同义词,它只是表示Object数据的一种方式,而不仅仅是任何数据,JSON不能代表递归对象。
变量值缺少引用这里
x=2; y='jam';
并改变这样的推送代码
k={"event_id":"'+x+'","event_name":"'+y+'"};
san.events.push(k);
这是解决这个问题的方法。
san = {"events": [
{"event_id": "1", "event_name": "Breakfast"},
{"event_id": "1", "event_name": "Calling Bob"}
]};
var x=2; var y='am';
k={"event_id":"x","event_name":y};
san.events.push(k);
console.log(san);
这对你有用吗?
x = "2";
y = "jam"
k= {"event_id": x, "event_name": y };
san.events.push(k);
将其传递到方括号[ variable_name ]内
例子:
let account_name = "premium_account"
{"features": { [account_name] :"checked"}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.