Ничего страшного, если объекты JSON не слишком велики, они не содержат конфиденциальных данных (это ужасно, если вы видите ваш пароль в истории браузера), и вы их URL-адреса избегаете.
К сожалению, вы должны использовать ярлыки, если вы хотите иметь удобочитаемый параметр JSON.Все скобки JSON ({
, }
, [
, ]
) рекомендуются для экранирования.Вам не нужно избегать их, но вы рискуете, если не делаете этого.Более раздражающим является :
, который вездесущ в JSON, и должен быть экранированным.
Если вы хотите, чтобы строки запроса читались человеком, разумным решением будет явное кодирование всех параметров запроса.,Компромисс, который вполне может сработать, - это распаковать объект JSON верхнего уровня в явные параметры запроса, каждый из которых остается в JSON-кодировке.Пройдя немного дальше, вы можете отбросить все оставшиеся разделители верхнего уровня, например:
JSON: {"foo":"bar", "items":[1, 2, 3], "staff":{"id":432, "first":"John", "last":"Doe"}}
Query: foo=bar&items=1,2,3&staff="id"%3A432,"first"%3A"John","last"%3A"Doe"
Поскольку вы знаете, что foo - это строка, items - это массив, а staff - объект, вы можете выполнить повторную гидратацию.синтаксис JSON правильно перед отправкой лота в анализатор JSON.