Отправить кэшированную строку JSON как JSON - PullRequest
0 голосов
/ 26 мая 2018

В экспрессе 5.5.1, приложение.У меня есть проверенная 1,79 МБ строка json, кэшированная как глобальная переменная, которую мы будем называть strJSON в этом сообщении.

Я хочу отправить эту строку клиенту без ее явного изменения и я хочу, чтобы заголовок был:

('Content-Type', 'application/json')

Это не работает:

res.set('Content-Type', 'application/json');
res.send(strJSON);

Express изменяет строку, заключая ее в кавычки и помещая обратную косую черту перед каждой кавычкойв JSON.

Это приводит к тому же результату:

res.json(strJSON);

Это отправляет строку без изменений:

res.send(strJSON);

Однако клиент видит этот неправильный тип содержимого:

Content-Type: text/html; charset=utf-8

Я не хочу тратить время на обработку, преобразовывая эту допустимую строку JSON в объект, чтобы res.send указывал правильный тип содержимого.Весь смысл кеширования этой строки json в глобальную переменную состоит в том, что она может быть отправлена ​​из ОЗУ как можно быстрее (требуя наименьшего количества подготовительной работы по экспрессу).

Как я могу отправить эту строкуне изменяется как application / json?

1 Ответ

0 голосов
/ 26 мая 2018

Вы не можете этого сделать, потому что, если он не добавит обратные косые черты в кавычки, он не будет действительным JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...