在对象中动态添加和删除json数据

时间:2016-02-02 07:40:28

标签: javascript

我想创建一个存储多个对象的json对象

    {
  "info": [
    {
      "id": "9861230",
      "LastPing": "hey",
      "LastPingTime": "12:30",
      "Message": [
        {
          "s_Message": "hello",
          "s_time": "01:30",
          "r_Message": "hii",
          "r_time": "01:31"
        }
      ]
    },
    {
      "id": "982121",
      "LastPing": "hey",
      "LastPingTime": "12:30",
      "Message": [
        {
          "s_Message": "hello",
          "s_time": "01:30",
          "r_Message": "hii",
          "r_time": "01:31"
        }
      ]
    }
  ]
}

我想动态地创建这种类型的json数据,我想要的东西。  假设我正在ping这个id = 9861230所以它会在这个id = 9861230对象中修改并添加新的消息数组,如果对象上没有相关的id,那么它将添加包含这种类型的信息的新对象输入

1 个答案:

答案 0 :(得分:1)

使用id作为密钥

obj = {
    "982121" : {
       "LastPing":"hey",
       "LastPingTime":"12:30",
       "Message":[
         {
           "s_Message":"hello",
           "s_time":"01:30",
           "r_Message":"hii",
           "r_time":"01:31"
         }
        ]
    }
}

通过这种方式,您可以轻松地将消息添加到特定id中的消息数组,而无需遍历info数组并找到具有特定id的对象。

if (obj[id]) {
    obj[id].messages.push(message);
}
else {
   obj[id] = {
       messages : []
   };
   obj[id].messages.push(message);
}