Какова фактическая разница между res.send
и res.json
, так как оба выполняют такую же работу с ответом на клиента.Разница между res.send и res.json в Express.js
154
A
ответ
168
Методы идентичны, когда объект или массив переданы, но res.json()
также будет конвертировать не объекты, такие как null
и undefined
, которые недействительны JSON.
Метод также использует настройки приложения json replacer
и json spaces
, поэтому вы можете форматировать JSON с большим количеством опций. Эти параметры задаются следующим образом:
app.set('json spaces', 2);
app.set('json replacer', replacer);
И перешел на JSON.stringify()
так:
JSON.stringify(value, replacer, spacing);
// value: object to format
// replacer: rules for transforming properties encountered during stringifying
// spacing: the number of spaces for indentation
Это код в методе res.json()
, что метод отправки не имеет:
var app = this.app;
var replacer = app.get('json replacer');
var spaces = app.get('json spaces');
var body = JSON.stringify(obj, replacer, spaces);
Метод заканчивается как res.send()
в конце:
this.charset = this.charset || 'utf-8';
this.get('Content-Type') || this.set('Content-Type', 'application/json');
return this.send(body);
50
res.json
в конечном итоге вызывает res.send
, но до того, что он:
- Уважает настройки приложения
json spaces
иjson replacer
- обеспечивает ответ будет utf8 кодовую и приложения/JSON типа содержимого
6
Глядя в заголовки, отправленные ...
res.send использует тип содержимого: текст/html
res.json использует Content-Type: применение/JSon
Смежные вопросы
- 1. В чем разница между res.end() и res.send()?
- 2. Express.js res.render и res.json
- 3. Разница в Nodejs между 'res.json (..)' и 'return res.json (..)'
- 4. Разница между app.use и app.get в express.js
- 5. res.send() express.js автоматически перенаправляет
- 6. не может сделать несколько res.send в express.js
- 7. Использование res.send Express.js в() с async.each
- 8. Как отправить результаты от async.whilst вызова и express.js res.send()
- 9. В чем разница между «app.render» и «res.render» в express.js?
- 10. Express.js: В чем разница между res.attachment и res.download?
- 11. В Express.js почему код после res.json() все еще выполняется?
- 12. Express.js - res.send() на событие RabbitMQ во время HTTP-запроса?
- 13. Как передать API url JSON http.get res.json (data) using express.js
- 14. res.send и res.render calls
- 15. expressjs res.send и магистральная
- 16. В чем разница между get/post/... и использованием
- 17. обработки пустого Садись в res.json
- 18. Express.js маршрутизации между файлами
- 19. разница между `% в%` и `` ==
- 20. Изменение объекта res в express.js
- 21. ExpressJS res.json (данные зарегистрированного пользователя)
- 22. Почему шрифт отличается для res.end и res.send?
- 23. Confused об отношениях между Socket.io и Express.js
- 24. В чем разница между паспортом и оаутом?
- 25. чтение res.json в nodejs приложение
- 26. Express.js и проверка формы
- 27. В чем разница между «сокет» IncomingMessage, «соединение» и «connection.socket»?
- 28. Обновить все модели Express.js
- 29. Почему я не могу позвонить в res.json?
- 30. Использование терминалов Express.js с обещаниями
Найдите минутку, чтобы отметить, как люди проводки ответы только пошел в GitHub и читать исходный код. Это хорошая привычка учиться и устанавливать. Истина лежит в Источнике. –
@PeterLyons Используйте источник, Люк! – wprl
@PeterLyons Я согласен, что это хорошая привычка, но вы имели в виду, что баран должен был посмотреть на источник, а не задавать вопрос? Разве это не нарушает цель этого сайта? Присутствие этого вопроса с ответами на хороший источник (The Source!) Полезно. – LinusR