心有法竹
2023-04-19 18:15:25
如下所示,已有json值:json = {"width":"10","height":"10"}我用 json.push("long":"10"); 插入一個新值,但是沒有反映,是不是應(yīng)該用別的方法呢?
2 回答

阿波羅的戰(zhàn)車
TA貢獻(xiàn)1862條經(jīng)驗 獲得超6個贊
對于json和JavaScript對象你有點混淆了,上面的json本質(zhì)上是一個對象,只是創(chuàng)建一個符合json格式的JavaScript對象,而對象沒有push方法,push是數(shù)組方法,使用push方法會出錯:TypeError: Object #<Object> has no method 'push'
對于函數(shù)調(diào)用也有使用錯誤,參數(shù)的分隔符只有",",而沒有":"建議多看一下文檔。
給對象插入值,直接賦值就行了。
var json = {"width":"10","height":"10"};json['long']="10";
建議:
多看文檔,調(diào)試時把調(diào)試窗口打開。

慕妹3242003
TA貢獻(xiàn)1824條經(jīng)驗 獲得超6個贊
先說明一下你的JSON知識錯誤。
JSON 只是一種數(shù)據(jù)結(jié)構(gòu),JSON 是有一種由一定規(guī)則的純文本內(nèi)容。本身不具備任何的操作方法,需要在編程語言中,轉(zhuǎn)換相應(yīng)的對象后才可進(jìn)行操作。例如JS中
var obj = JOSN.parse('{"width":"10","height":"10"}')
接著說你的問題。
push 是 javascript 中的數(shù)組的方法,你的這玩意是對象,所以肯定是不能使用的。
這樣才是對的。
json.long = "10"
添加回答
舉報
0/150
提交
取消