我正在尝试通过Chrome应用程序发送一个JSON对象' Postman'。
如果我将标题设置为'Content-Type: text/plain'
,那么另一侧的输出是一个空对象:
{}
如果我将标题设置为Content-Type: application/json
,我会收到以下回复...
'错误:json'无效。
密钥设置为ingredients
,值设置为:
{ ["name" : "num1", "quantity" : "5"], ["name" : "num2", "quantity" : "2"], [ "name" : "num3", "quantity" : "8"]}
我在这里抓住它:
router.post('/add', jsonParser, function( req, res ) {
if (!req.body) return res.sendStatus(400);
console.log( req.body );
});
答案 0 :(得分:3)
您的JSON无效。重构为既能正确解析又能让您继续工作的东西。下面的示例应该可以正常工作,您的对象数组存储在ingredients
...
{
"ingredients": [{
"name": "num1",
"quantity": "5"
}, {
"name": "num2",
"quantity": "2"
}, {
"name": "num3",
"quantity": "8"
}]
}
您可以随意切换,只需确保解析即可。 JSONLint将是你的朋友。即使是没有命名标识符的普通数组也可以正常工作,我看的越多,就好像你只是向后调整了{}
和[]
语法......
[{"name": "num1", "quantity": "5"}, {"name": "num2","quantity": "2"}, {"name": "num3","quantity": "8"}]
答案 1 :(得分:1)
首先,您需要根据模型设计数据。 使用http://jsoneditoronline.org/格式化Json,但没有语法错误
第1步: - 设置网址参数(如果有)
步骤2: - 设置标准Http标头
示例: - 1)。 Content-Type:application / json 2)。接受:application / json
然后根据您的要求使用http CRUD操作
您需要将数据发送到POST和PUT操作Get - 可以获取json 来自api
Post Ex: - 选择Post with API,您会看到3个选项form-data x-www-form-urlencoded raw选择选项“raw”并粘贴你的Json内容
祝你好运!!