我能否在 POST 请求中发送元数据?我可以在 POST 请求中发送大量数据,但如果需要在 POST 方法中将数据组合在一起并将其发送到 REST API,我是否必须在正文中操作值?
我可以这样发送:
示例:
{
"name": "puppetlabs-ntp",
"version": "6.1.0",
"author": "Puppet Inc",
"summary": "Installs, configures, and manages the NTP service.",
"license": "Apache-2.0",
"source": "https://github.com/puppetlabs/puppetlabs-ntp",
"project_page": "https://github.com/puppetlabs/puppetlabs-ntp",
"issues_url": "https://tickets.puppetlabs.com/browse/MODULES"
}
但是我需要像这样发送数据:
示例:
{
"User":{"name": "puppetlabs-ntp",
"version": "6.1.0",
"author": "Puppet Inc"},``
"Project":{
"summary": "Installs, configures, and manages the NTP service.",
"license": "Apache-2.0",
"source": "https://github.com/puppetlabs/puppetlabs-ntp",
"project_page": "https://github.com/puppetlabs/puppetlabs-ntp",
"issues_url": "https://tickets.puppetlabs.com/browse/MODULES"}
}
最佳答案
如果你想从你当前的元数据对象创建一个新对象,你可以像这样初始化你的新对象:
var res = {
User: {},
Project: {}
};
然后您可以使用 Object.keys()
遍历对象键,并填充结果对象:
Object.keys(obj).forEach(function(key) {
if (key === "name" || key === "version" || key === "author")
res.User[key] = obj[key];
else
res.Project[key] = obj[key];
});
演示:
var obj = {
"name": "puppetlabs-ntp",
"version": "6.1.0",
"author": "Puppet Inc",
"summary": "Installs, configures, and manages the NTP service.",
"license": "Apache-2.0",
"source": "https://github.com/puppetlabs/puppetlabs-ntp",
"project_page": "https://github.com/puppetlabs/puppetlabs-ntp",
"issues_url": "https://tickets.puppetlabs.com/browse/MODULES"
};
var res = {
User: {},
Project: {}
};
Object.keys(obj).forEach(function(key) {
if (key === "name" || key === "version" || key === "author")
res.User[key] = obj[key];
else
res.Project[key] = obj[key];
});
console.log(res);
关于javascript - Javascript中对象的自定义属性映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47344996/