Как правильно хранить данные в JSON-подобном объекте? Из того, что я видел, существует два способа хранения данных внутри объекта json. Оба имеют различные способы доступа к данным (примеры в Python):Фундаментальная структура объектов типа JSON?
Вариант 1:
obj1 = [
{"id": 1, "payload": "a"},
{"id": 2, "payload": "b"},
{"id": 3, "payload": "c"},
]
доступа полезной нагрузки определенных идентификаторов в варианте 1:
for element in obj1:
if element["id"] == 2:
print(element["payload"])
Это означает, что весь список элементов необходимо отсканировать (возможно), чтобы найти правильный id и вернуть его значение.
С другой стороны Theres Вариант 2:
obj2 = {
1: "a",
2: "b",
3: "c",
}
Чтобы получить доступ к полезной нагрузки второго «ид» просто:
print(obj2[2])
Мой вопрос теперь, почему это больше распространено см. вариант 1, хотя это кажется более сложным для поиска? Когда я буду использовать вариант 1 и вариант 2?
Зависит от прецедента ... – charlietfl
Ну, у вас есть массив объектов против одного объекта - так что вам решать, что правильно для задачи. Что касается расширения и удобочитаемости, я бы сказал, что первый вариант лучше. Хотите добавить новую недвижимость? Вы не можете сделать это с помощью опции два. Кроме того, вы всегда можете использовать только один массив для варианта 2, он не обязательно должен быть объектом. – JCoulam
Существует также опция 3, которая является объектом объектов – apokryfos