我想用Node请求库发出HTTP POST请求。请求正文具有多个非唯一键。问题是我不能将POST主体表示为Javascript对象,因为密钥会被覆盖。请求是url-form-encoded。有没有办法以一种我不必依赖于使用Javascript对象来表示我的请求主体参数的方式来表示请求库中的数据?
样品申请正文:
{
dateFrom:2015-10-07,
dateTo:2015-10-17,
columns[]:exc_flags,
columns[]:exc_currency,
timeZone:55,
country[]:25,
country[]:32,
country[]:6,
importance[]:1,
importance[]:2,
importance[]:3,
category[]:_employment,
category[]:_economicActivity,
}
此处重复columns[]
,country[]
,importance[]
和category[]
个键。
使用请求库进行url-form编码请求的标准语法是:
request.post('http://service.com/upload').form({key:'value'})
如果有效负载中存在非唯一键,则此方法不起作用。
答案 0 :(得分:1)
您的"多个非唯一键"是数组值。只需将JSON与数组一起用于重复值:
{
"dateFrom": "2015-10-07",
"dateTo": "2015-10-17",
"columns": ["exc_flags", "exc_currency"],
"timeZone": 55,
"country": [25, 32, 6],
"importance": [1, 2, 3],
"category": ["_employment", "_economicActivity"],
}