Когда бы я предпочел использовать json вместо строки запроса? - PullRequest
0 голосов
/ 29 октября 2019

Я наткнулся на вопрос, на который я не могу найти ответ в Интернете: когда я предпочел бы использовать JSON, а когда я предпочел бы использовать строку запроса?

был бы очень признателен любомудальнейшие мысли ваших экспертов по теме.

Также были бы очень благодарны закодированные примеры

Спасибо!

1 Ответ

1 голос
/ 29 октября 2019

Давайте сделаем все по-прямому:

  1. Строка запроса - это фрагмент URL, который стоит после ?. Например, в http://test.com/foo?baz=1 фрагмент baz=1 является строкой запроса для этого URL.
  2. JSON - это хорошо известный формат данных. Я не буду здесь углубляться в спецификацию (поскольку она достаточно известна), но, например, {"test":1} - это строка JSON.

И так, это две разные вещи. Это не похоже на «то или это», например, вы можете объединить оба, чтобы иметь

http://test.com/?{"test":1}

И теперь у вас есть JSON в качестве строки запроса. Обратите внимание, что формат строки запроса не стандартизирован, поэтому он полностью действителен.

Так что, как вы можете видеть, эти два на самом деле не сопоставимы. Если под «строкой запроса» вы не имеете в виду конкретный формат, то есть типичный стиль x=1&y=2&z=3. Эти два мы можем сравнить. JSON обладает преимуществом лучшей структуры: вы можете вкладывать объекты, у вас есть массивы, у вас есть (немного, но все еще) типы. Но он менее читабелен, тем более что некоторые символы в URL должны быть экранированы. И для его анализа требуется немного больше времени (хотя вряд ли это имеет значение).

Мой подход заключается в следующем: для GET используйте «стандартные» строки запроса в URL, для POST JSON в теле. Если ваш GET становится более сложным, то превратите его в POST с JSON.

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