简体   繁体   English

无法使用JavaScript在JSON对象中添加键值

[英]Unable to add key value in JSON object using javascript

I am stuck in a very weird issue. 我陷入一个非常奇怪的问题。 I have done this so many times previously but this time it's just not working and I am stuck. 我之前已经做过很多次了,但是这次却没有用,我被困住了。

var updateObj = {};
db.child("symbols/" +name).once('value').then(function(data){
            if(data.exists())
                ticker.val().forEach(function(path){
                        addInJSON(path, data.val());
                });
            })
    //Trying to add some dummy values to test 
    addInJSON("dummy", {val: "pummy"});
    updateObj["dummykey"] = "dummy value";
    for(key in updateObj){
        console.log(key + "  " + updateObj[key]);
    }



function addInJSON(key, value){
    updateObj[key] = value;
}

Output looks like this: Output looks like this: 输出看起来像这样:输出看起来像这样:

Object {dummy: Object, dummykey: "dummy value"} 对象{虚拟:对象,伪键:“虚拟值”}}

dummy:Object {val: "pummy"}
dummykey:"dummy value"
watchlist/41HJ5vonrUMMkH7TDwiSdAedhEL2/ADANIPOWER:Object {day_change: 2.25, day_change_percentage: 6.17, day_high: 40.05, …}
watchlist/41HJ5vonrUMMkH7TDwiSdAedhEL2/ARVIND:Object {day_change: -2.75, day_change_percentage: -0.6, day_high: 462.15, …}
watchlist/41HJ5vonrUMMkH7TDwiSdAedhEL2/ASHOKLEY:Object {day_change: 0.05, day_change_percentage: 0.04, day_high: 118.85, …}

PROBLEM 问题

output: Object {dummy: Object, dummykey: "dummy value"}
Expected output: Object {dummy: Object, dummykey: "dummy value", "watchlist/41HJ5vonrUMMkH7TDwiSdAedhEL2/ADANIPOWER" :Object, ...}

To add values to objects you would do this myObject['someKey'] = 'someValue' . 要将值addobjects您可以执行myObject['someKey'] = 'someValue' But if you wanted to add values differently I added an example for that as well. 但是,如果您想以不同的方式添加值,我也为此添加了一个示例。 Try the snippet to see. 尝试查看该snippet

 // Example 1 var myObject = {}; myObject['first'] = {}; myObject['second'] = {}; myObject['first']['firstFirst'] = 5; myObject['first']['firstSecond'] = 6; myObject['second']['secondFirst'] = 1; myObject['second']['secondSecond'] = 9; console.log("This is example 1."); console.log(myObject); // Example 2 var myObject2 = {}; Object.assign(myObject2, { first: { firstFirst: 5, firstSecond: 6 } }); Object.assign(myObject2, {second: { secondFirst: 1} }); Object.assign(myObject2['second'], { secondSecond: 9 }); console.log("\\nThis is example 2"); console.log(myObject2); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM