#javascript #json
#javascript #json
Вопрос:
После преобразования потока ответов в JSON, являются ли они абсолютно одинаковыми?
const responseA = fetch(endpointReturnsJson)
const textA = await responseA.text()
В параллельной вселенной…
const responseA = fetch(endpointReturnsJson)
const json = await responseA.json()
const textB = JSON.stringify(json)
Я понимаю, что TextB, скорее всего, будет включать сериализацию символов, таких как {\
Есть ли что-нибудь еще?
Комментарии:
1. Прежде всего, вам не хватает
await
перед обоимиfetch
иresponse.json
/response.text
. И предполагая, что ответ был действительным JSON в первую очередь:JSON.parse(await response.text())
должен дать тот же результат, что иawait response.json()
, но не обязательно наоборот, потому что, например, пробел может отличаться.2. Спасибо! Ха — ха, неправильно придуманный
Ответ №1:
Все зависит от того, что stuff
есть.
Если вы используете response.json()
, вы предполагаете, что входящий поток был закодирован в формате JSON. Метод возьмет текст тела потока и проанализирует его.
Если данные не в формате JSON, то получите к ним доступ с помощью response.text()
и обработайте их соответствующим образом.
Подробнее:https://developer.mozilla.org/en-US/docs/Web/API/Response