簡體   English   中英

在 json 中插入 javascript 變量值

[英]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);

http://jsfiddle.net/3NSy8/

這對你有用嗎?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM