В этом случае первая переменная всегда является идентификатором, вторая переменная всегда является номером OCR, а третьим номером всегда является сумма. Тогда было бы все равно, чтобы сделать так:
{
"Transactions": [
"23/2/2014 @ 16:48:8",
[
[
"ID",
"1"
],
[
"OCR",
"123456789"
],
[
"Amount",
"100"
]
],
[
[
"ID",
"2"
],
[
"OCR",
"987654321"
],
[
"Amount",
"20"
]
]
]
}
Или эквивалентный ввод только с входными данными, так как мы знаем, что индекс будет одинаковым для разных значений:
{
"Transactions": [
"23/2/2014 @ 16:48:8",
[
[
"1"
],
[
"123456789"
],
[
"100"
]
],
[
[
"2"
],
[
"987654321"
],
[
"20"
]
]
]
}
Или даже проще:
{
"Transactions": [
"23/2/2014 @ 16:48:8",
[
"1",
"123456789",
"100"
],
[
"2",
"987654321",
"20"
]
]
}
Или минимально:
{
"23/2/2014 @ 16:48:8": [
[
"1",
"123456789",
"100"
],
[
"2",
"987654321",
"20"
]
]
}
Но я не понимаю, что следующий хороший стиль, даже если он будет работать, если вы знаете, какой элемент является тем, который и просто отправляет массив:
{
"23/2/2014 @ 16:48:8": [
123456789,
100,
987654321,
20
]
}
Или просто массив (который также действителен json и содержит все, что нам нужно знать):
[
123456789,
100,
987654321,
20
]
Несмотря на то, что все рассмотренные данные, по-видимому, являются достоверными json, может быть предпочтительнее идти в любом направлении, либо структура, которая менее читаема, так и монологически только массив, или структура, которая названа и более сложна, но также более читаема, число может представлять, какое время это, может быть предпочтительнее хранить его как строку и аналогично иметь метку, что некоторые данные.
В моем последнем примере вы должны знать, что каждый второй элемент представляет собой сумму, и каждый другой элемент является ссылкой OCR.
Существует также альтернатива, которая справедлива json следующим образом:
{
"23/2/2014 @ 16:48:8": [
[
{
"OCR": 123456789
},
{
"Amount": 100
}
],
[
{
"OCR": 987654321
},
{
"Amount": 200
}
]
]
}
Поэтому я не уверен, как представлять элементы и списки.
Только вы можете решить, как это должно выглядеть в конце, но вот несколько предложений...
Держитесь подальше от использования данных в качестве ключей...
{
"23/2/2014 @ 16:48:8": []
}
Вместо этого сделайте что-нибудь подобное...
{
"timestamp": "23/2/2014 @ 16:48:8",
"data": []
}
И ваше использование массивов кажется более подходящим как объекты. Вот пример того, что я считаю приемлемым.
{
"transactions": [
{ "id": 1, "timestamp": "23/2/2014 @ 16:48:8", "ocr": 12345678, "amount": 500 },
{ "id": 2, "timestamp": "23/2/2014 @ 16:48:9", "ocr": 345435, "amount": 200}
]
}
Лучший формат действительно зависит от того, как вы хотите потреблять данные. Но, как правило, я думаю о таких данных как о коллекции объектов, где каждая транзакция является объектом, обладающим свойствами. В этом ключе что-то вроде массива транзакций будет иметь смысл:
{
"Transactions": [
{
"time": "23/2/2014 @ 16:48:8",
"id": "1",
"ocr": "123456789",
"amount": "100"
},
{
"time": "23/2/2014 @ 16:48:8",
"id": "2",
"ocr": "987654321",
"amount": "200"
}
]
}
Это позволяет вам выполнять транзакции, а затем получать доступ к каждому из свойств каждой транзакции.