Javascript中对象的自定义属性映射
我能在POST请求中发送元数据吗?我能够在POST请求中发送大量数据,但如果需要在POST方法中将数据分组并发送到RESTAPI,我是否必须在主体中操纵值 我可以这样发送:Javascript中对象的自定义属性映射,javascript,json,object,properties,Javascript,Json,Object,Properties,我能在POST请求中发送元数据吗?我能够在POST请求中发送大量数据,但如果需要在POST方法中将数据分组并发送到RESTAPI,我是否必须在主体中操纵值 我可以这样发送: var res = { User: {}, Project: {} }; 示例: { "name": "puppetlabs-ntp", "version": "6.1.0", "author": "Puppet Inc", "summary": "Installs, configures, and m
var res = {
User: {},
Project: {}
};
示例:
{
"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: {}
};
示例:
{
"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];
});
演示:
{
"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 obj={
“名称”:“puppetlabs ntp”,
“版本”:“6.1.0”,
“作者”:“木偶公司”,
“摘要”:“安装、配置和管理NTP服务。”,
“许可证”:“Apache-2.0”,
“来源”:https://github.com/puppetlabs/puppetlabs-ntp",
“项目页面”:https://github.com/puppetlabs/puppetlabs-ntp",
“问题\u url”:https://tickets.puppetlabs.com/browse/MODULES"
};
var res={
用户:{},
项目:{}
};
Object.keys(obj).forEach(函数(key){
if(key==“name”| | key==“version”| | key==“author”)
res.User[key]=obj[key];
其他的
res.Project[key]=obj[key];
});
控制台日志(res)代码>您是否尝试发送如上所示的数据?你犯了什么错误?我不认为上面的逻辑上有什么不同。如果您按照http
库的要求将其作为数据
传递,那么它应该能够处理它。最简单的方法是编写自定义映射器函数。然而,我不知道这与React或REST有什么关系:DJustJSON.stringify(元数据)
,然后在控制器(服务器)中JSON.parse(req.body.metadata)
?