Javascript NPM请求模块-正文与json

Javascript NPM请求模块-正文与json,javascript,json,node.js,http-post,Javascript,Json,Node.js,Http Post,我想知道请求模块的options对象的body属性和json属性之间有什么区别。例如,这两个请求实例之间的区别是什么: var obj = { "type": "SCHEDULED_CALLBACK", "appointmentTime": "2014-10-06T15:45:00Z", "queue": queueName }; 第一个: request.post({ method: 'POST',

我想知道请求模块的options对象的body属性和json属性之间有什么区别。例如,这两个请求实例之间的区别是什么:

var obj = {
        "type": "SCHEDULED_CALLBACK",
        "appointmentTime": "2014-10-06T15:45:00Z",
        "queue": queueName
    };
第一个:

  request.post({
            method: 'POST',
            uri: url,
            headers: {'content-type': 'application/json'},
            json: obj  
        }
        , function (err, response, body) {
            cb(err, response, body);
        });
还有这个:

request.post({
        method: 'POST',
        qs: {queue: queueName}, //query string params go here
        uri: url,
        body: JSON.stringify(obj),
    }
    , function (err, response, body) {
        cb(err, response, body);
    });

例如,当我收到post请求时,JSON数据总是在请求体中。那么,在使用请求模块时,为选项的body属性或选项的json属性赋值有什么区别呢?

唯一的区别是
body
不假定内容类型为json,而
json
假定内容类型为json,并相应地设置
内容类型

在您的示例中,
body:JSON.stringify(obj)
JSON:obj
之间没有区别,只是缺少自动设置标题