Javascript 使用部分更新或更新查询更新json中的嵌套字段
我使用的是elasticsearch,我想用特定键更新json中的特定字段,在我的例子中是macid,json如下所示Javascript 使用部分更新或更新查询更新json中的嵌套字段,javascript,
elasticsearch,Javascript,
elasticsearch,我使用的是elasticsearch,我想用特定键更新json中的特定字段,在我的例子中是macid,json如下所示 { macid:"mac1234", attri: { data:{ ch1:12, ch2:123 }, settings: { log
{
macid:"mac1234",
attri:
{
data:{
ch1:12,
ch2:123
},
settings:
{
log_time:1min
}
}
}
我想用匹配的macid更新数据、设置字段,并且它们将是多条记录如果JSON有错误,我觉得应该用引号括住字符串 解决问题的一个好办法是将JSON转换为对象,然后将对象转换回JSON文件 parse(JSON)将JSON转换为对象,同时 stringify将对象转换回JSON 下面是一个javascript修复程序:
var jsonT = '{"macid":"mac1234","attri":{"data":{"ch1":12,"ch2":123},"settings":{"log_time":"1min"}}}'
var f = JSON.parse(jsonT);
f.attri.data.ch1 = "hi"
jsonT = JSON.stringify(f);
console.log(jsonT);
还有其他方法可以做到这一点,然后导出到.json文件您能提供更清晰的信息吗?您是否有如上所述的JSON对象数组?是否要为所有用户提供相同的更新?如果您只有一个带有单个macid的JSON对象,那么您只需要使用
If
语句。感谢您的回答,但我想要的是,假设我知道macid,并且我想更新attri数组中的数据数组。我希望您能够it@savyaDhurve我已经更新了代码。您需要做的就是将f对象像普通对象一样对待。您还需要将其导出为.json文件吗?