任务非常简单,我用POST请求(https://banana.com/endpoint/swap.php
)请求端点,并给我我的形式:{ banana: ["China's Red", "Sweden's Gray"], apples: [] }
并发送它。
但是,我正在使用的NodeJS的请求模块不会对空数组进行编码(在本例中为“ apples”),并且如果端点未收到“ apples”数组,则会返回错误-“无效的JSON”。我尝试使用已经编码的字符串来执行此操作,并且效果很好。我也无法对我的json进行字符串化处理,然后使用encodeURI()
,因为它将在它们周围给出“ bananas”和“ apples”引号,这些引号将被编码-不用说,端点也不喜欢那样
如果有人至少可以指出我正确的方向,我将非常感激。由于我不确定如何进行此操作,而又不创建一些糟糕的意大利面条代码。
答案 0 :(得分:0)
data = { banana: ["China's Red", "Sweden's Gray"], apples: [] }
result = JSON.parse(JSON.stringify(data)) .
香蕉和苹果不会给您带来双重影响,如果您需要访问它,那么请访问它
console.log(result.banana)
console.log(result.apple)
因此,如果您需要在发布请求中提供此结果,则-
url = 'your url';
const options = {
url: url,
method: 'POST',
headers: {
Accept: 'application/json',
'Accept-Charset': 'utf-8'
},
json: result
};
request.post(options, function (err, response, body) {
// do something with your data
})
让我知道这是否可行。