Какой будет идеальный формат JSON для этого конкретного XML - PullRequest
0 голосов
/ 05 июля 2011

Учитывая следующий пример XML:

<Meters>
  <Meter>
    <Meter_ID>213</Meter_ID>
    <Reading1>74.00000</Reading1>
    <DateTime1>10/05/2011 09:00:18</DateTime1>
    <Reading2>73.00000</Reading2>
    <DateTime2>10/05/2011 09:15:18</DateTime2>
    <Reading3>70.00000</Reading3>
    <DateTime3>10/05/2011 09:30:18</DateTime3>
  </Meter>
  <Meter>
    <Meter_ID>69</Meter_ID>
    <Reading1>146.00000</Reading1>
    <DateTime1>10/05/2011 09:00:18</DateTime1>
    <Reading2>167.00000</Reading2>
    <DateTime2>10/05/2011 09:15:18</DateTime2>
    <Reading3>173.00000</Reading3>
    <DateTime3>10/05/2011 09:30:18</DateTime3>
  </Meter>
</Meters>

Какой будет самый компактный формат JSON, учитывая, что конечный результат - для каждого Meter_ID - получить 3 ReadingN и DateTimeN пары?

1 Ответ

1 голос
/ 05 июля 2011

С массивом различного числа пар чтения / даты / времени на объект Meter:

[
    {
        "Meter_ID": 213,
        "Readings":[
            {"Reading1": 74,"DateTime1": "10/05/2011 09:00:18"},
            {"Reading2": 73,"DateTime2": "10/05/2011 09:15:18"},
            {"Reading3": 70,"DateTime3": "10/05/2011 09:30:18"}
        ]
    },
    {
        "Meter_ID": 69,
        "Readings":[
            {"Reading1": 146,"DateTime1": "10/05/2011 09:00:18"},
            {"Reading2": 167,"DateTime2": "10/05/2011 09:15:18"},
            {"Reading3": 173,"DateTime3": "10/05/2011 09:30:18"}
        ]
    }
]

С фиксированным числом пар чтения / даты / времени на 3 на объект Meter:

[
    {
        "Meter_ID": 213,
        "Reading1": 74,
        "DateTime1": "10/05/2011 09:00:18",
        "Reading2": 73,
        "DateTime2": "10/05/2011 09:15:18",
        "Reading3": 70,
        "DateTime3": "10/05/2011 09:30:18"
    },
    {
        "Meter_ID": 69,
        "Reading1": 146,
        "DateTime1": "10/05/2011 09:00:18",
        "Reading2": 167,
        "DateTime2": "10/05/2011 09:15:18",
        "Reading3": 173,
        "DateTime3": "10/05/2011 09:30:18"
    }
]

Удаление имен полей элемента и просто включение пар ключ / значение данных ...

Еще более компактная форма с массивом различного числа пар чтения / даты и времени на объект Meter:

[
    {
        "Meter_ID": 213,
        "Readings":[
            {"74": "10/05/2011 09:00:18"},
            {"73": "10/05/2011 09:15:18"},
            {"70": "10/05/2011 09:30:18"}
        ]
    },
    {
        "Meter_ID": 69,
        "Readings":[
            {"146": "10/05/2011 09:00:18"},
            {"167": "10/05/2011 09:15:18"},
            {"173": "10/05/2011 09:30:18"}
        ]
    }
]

Еще более компактная форма с числом пар чтения / даты и времени, установленным на 3 на объект Meter:

[
    {
        "Meter_ID": 213,
        "74": "10/05/2011 09:00:18",
        "73": "10/05/2011 09:15:18",
        "70": "10/05/2011 09:30:18"
    },
    {
        "Meter_ID": 69,
        "146": "10/05/2011 09:00:18",
        "167": "10/05/2011 09:15:18",
        "173": "10/05/2011 09:30:18"
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...