Я пишу простой веб-сервис, который возвращает JSON-ответ. Он будет интенсивно использоваться, поэтому я хочу попытаться сделать ответ JSON как можно меньшим из соображений производительности. Я нахожусь на заборе из-за дизайнерского решения; копейки за мысли!
Мой ответ JSON от сервера выглядит следующим образом:
{
"customers":
[
{
"id": "337",
"key": "APIfe45904c"
},
{
"id": "338",
"key": "somethingDifferent"
},
{
"id": "339",
"key": "APIfe45904c"
},
{
"id": "340",
"key": "APIfe45904c"
}
]
}
Здесь APIfe45904c
используется примерно в 60-70% записей, поэтому я мог бы также изменить ответ JSON, чтобы удалить повторяющуюся информацию, и добавить default_key
, т. Е. Если не указано key
, клиент должен принять default_key
следующим образом:
{
"default_key": "APIfe45904c",
"customers":
[
{
"id": "337"
},
{
"id": "338",
"key": "somethingDifferent"
},
{
"id": "339"
},
{
"id": "340"
}
]
}
Ни один клиент еще не использует веб-сервис, так что это ничего не сломает. Это хорошая практика? Это работает, и делает небольшой ответ JSON, но я в конфликте. Мне нравится принцип KISS для разработчиков, использующих сервис, но я также хочу получить как можно меньший ответ JSON.
Мне хотелось заменить customers
на c
, id
на i
и key
на k
, чтобы помочь уменьшить размер файла, но я подумал, что это будет проблемой, если я захочу заставьте других клиентов начать использовать это. Должен ли я отказаться от идеи default_key
по той же причине?
Каждый ответ JSON, скорее всего, будет содержать не более 200 строк пар идентификаторов / ключей, поэтому мне не нужно включать нумерацию страниц и т. Д.