解析后访问字段并修改javascript

时间:2018-08-19 03:11:22

标签: firebase object google-cloud-platform javascript-objects

代码:

var string = JSON.stringify(stringValue);
var objectValue = JSON.parse(string); 

输出:

  

{User1:{…}} User1:公司名称:“ qwe” DriverName:“ Tata Sky”   LicenseKey:“ TATAA-0ITG6-BRHRL-UGT3E” LicenseType:“演示” MACID:“”   状态:“假”

这是背景,有时会变成user1,user2,并很快取决于search.on。一旦获得对象,我需要更新状态和MACID字段。 尽管用户1,用户2,如何创建对该字段的动态引用……我必须能够访问状态和macid字段。

预先感谢

1 个答案:

答案 0 :(得分:0)

如果您询问如何访问JavaScript对象中的未知动态键:

var object = {User1: {CompanyName : "qwe", DriverName : "Tata Sky", LicenseKey : "TATAA-0ITG6-BRHRL-UGT3E", LicenseType : "Demo", MACID : "", Status : "False"}};

var user = object[Object.keys(object)[0]];

console.log(user);

所以这里的键是var user = object[Object.keys(object)[0]],它查找JavaScript object中第一个键的值。


由于您使用firebase进行了标记,因此我认为此值可能来自Firebase实时数据库。在这种情况下,另一种方法是使用DataSnapshot.forEach方法循环遍历从读取操作返回的快照的子级。例如

firebase.database()
  .ref("users")
  .orderByChild("CompanyName")
  .equalTo("qwe")
  .once("value")
  .then(function(snapshot) {
    snapshot.forEach(function(userSnapshot) {
      console.log(userSnapshot.key); // "User1"
      console.log(userSnapshot.val().Status); // "False"
      userSnapshot.ref.update({ MACID: 1234, Status: "Yes" });
    });
  })