I was thinking about designing payload data in JSON with
- Multiple (number) fields which contains similar data (check ones in items array)
- Variable number of elements in
items
array (say one request may contain bag other may not). In that case relevant field in Option 1 would benull
to indicate it’s absence.
Option 1:
{
"name":"my_name",
"id": 1234,
"items" : {
"number_of_pens": 2,
"number_of_books": 3,
"number_of_bags": 1
}
}
Option 2:
{
"name":"my_name",
"id": 1234,
"items": [
{
name : "number_of_pens"
value: 2
},
{
name : "number_of_books"
value: 3
},
{
name : "number_of_bags"
value: 1
}
]
}
I wonder if there is any design principles which makes one of the options superior to other one.
Design question, so evaluated in terms of schema change, ease of use in different languages/frameworks and payload size.