【发布时间】:2017-08-16 22:09:45
【问题描述】:
我正在使用 Meteor 开发一个项目,该项目使用 Mongoose(使用 Meteor.HTTP)连接到外部 API。我有嵌套对象,其源数据如下所示:
{name: "asdasd", active: true, status: Object, domain: "asdas", category: "1"…}
我需要以这种格式 POST/PUT 数据:
{
active: true,
category: "1",
contact.companyName: "asd",
contact.email: "asd",
contact.managerName: "asd",
contact.phone: "asd",
domain: "asdasd",
name: "asjdnas",
ImagePaths: ["asdasdad","asdasdAsd"],
}
没有嵌套样式对象,或任何类型的:
ImagePaths[0] : asdasdad,
ImagePaths[1] : asdasdad
sites:
0: "565f1c7da35dcaa718713f4f"
等等。我找到了这段代码(@rhalff)
var dotize = dotize || {};
dotize.parse = function(jsonobj, prefix) {
var newobj = {};
function recurse(o, p) {
for (var f in o)
{
var pre = (p === undefined ? '' : p + ".");
if (o[f] && typeof o[f] === "object"){
newobj = recurse(o[f], pre + f);
} else {
newobj[pre + f] = o[f];
}
}
return newobj;
}
return recurse(jsonobj, prefix);
};
但我仍然遇到数组问题。它们看起来像这样:
Paths.0: "asdkmalksmdasd",
Paths.1: "asdasdad",
我需要的是这个:
Paths:["asdkmalksmdasd","asdasdad"];
你可以在jsbin上玩:https://jsbin.com/kadivewoti/edit?js,console
我怎样才能做到这一点?
【问题讨论】:
-
是
ImagePaths属性导致了您的问题?
标签: javascript node.js meteor