JSON 平面序列化
JSON flat serialization
有什么有效的方法可以解决这个问题:
{
person:{
name:'John',
address:{
city:'England',
street:'99',
}
}
}
进入这个:
{
'person.name' :'John',
'person.address.city':'England',
'person.address.street':'99'
}
谢谢!
Ps。我需要它来同时更新 mongo 个具有多个字段的文档,而无需替换整个对象(使用 $set)。
过度简化的示例:
function flatten(object, result = {}, path) {
if (!(object instanceof Object)) return result[path] = object;
for (var key in object) flatten(object[key], result, path ? path + '.' + key : key);
return result;
}
console.log(flatten({ person:{ name:'John', address:{ city:'England', street:'99' }}}));
console.log( flatten( [[0]] ) );
console.log( flatten( 0 ) );
有什么有效的方法可以解决这个问题:
{
person:{
name:'John',
address:{
city:'England',
street:'99',
}
}
}
进入这个:
{
'person.name' :'John',
'person.address.city':'England',
'person.address.street':'99'
}
谢谢! Ps。我需要它来同时更新 mongo 个具有多个字段的文档,而无需替换整个对象(使用 $set)。
过度简化的示例:
function flatten(object, result = {}, path) {
if (!(object instanceof Object)) return result[path] = object;
for (var key in object) flatten(object[key], result, path ? path + '.' + key : key);
return result;
}
console.log(flatten({ person:{ name:'John', address:{ city:'England', street:'99' }}}));
console.log( flatten( [[0]] ) );
console.log( flatten( 0 ) );