【问题标题】:Accessing Fields and modifying javascript after parsing解析后访问字段和修改javascript
【发布时间】:2018-08-19 03:11:21
【问题描述】:

代码:

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

输出:

{User1: {…}} User1 : CompanyName : "qwe" DriverName : "Tata Sky" LicenseKey:“TATAA-0ITG6-BRHRL-UGT3E” LicenseType:“Demo” MACID:“” 状态:“假”

This is Background 有时会变为 user1、user2 并很快取决于搜索。一旦获得我需要更新状态和 MACID 字段的对象。 尽管存在用户 1、用户 2,如何创建对该字段的动态引用...我必须能够访问状态和 macid 字段。

提前致谢

【问题讨论】:

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


    【解决方案1】:

    如果您询问如何访问 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);

    所以这里的key是var user = object[Object.keys(object)[0]],它在JavaScript中查找第一个key的值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" });
        });
      })
    

    【讨论】:

      猜你喜欢
      • 2013-01-28
      • 2014-10-17
      • 2019-01-02
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      相关资源
      最近更新 更多