Как я могу исправить это в файл JSON? - PullRequest
0 голосов
/ 08 января 2019

Итак, у меня есть файл Json, но я не уверен, правильно ли он отформатирован. В каждой «временной метке» может быть максимум 4 события (на каналах 1-4), которые могут произойти, и если 0 произойдет, тогда временная метка не будет печататься вообще. Я хочу иметь возможность вызывать значения «активность», «азимут» и «высота» для каждого канала из каждой отметки времени.

 {
    "timeStamp": 1440,
    "unix": 1546907973091,
    "events": [
        { "id": 23, "channel": 1, "activity": 0.998, "azimuth": 66.330, "elevation": 47.769 },
        { "id": 20, "channel": 3, "activity": 0.994, "azimuth": 202.169, "elevation": 6.801 }
    ]
},

 {
    "timeStamp": 1448,
    "unix": 1546907973101,
    "events": [
        { "id": 23, "channel": 1, "activity": 0.000, "azimuth": 66.331, "elevation": 47.769 },
        { "id": 20, "channel": 3, "activity": 1.000, "azimuth": 202.166, "elevation": 6.801 }
    ]
}

Если кто-то может быстро сказать мне, что нужно изменить, это было бы здорово.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Вам нужно исправить несколько проблем:

  1. "unix": 1546905049755 [ пропущено , "events": ключ
  2. Скобки массива сломаны

Это действительный JSON, наиболее близкий к вашему:

[
  {
        "timeStamp": 1808,
        "unix": 1546905049755,
        "events": [{
                "id": 9,
                "channel": 1,
                "activity": 1.000,
                "azimuth": 227.523,
                "elevation": 10.411
            },
            {
                "id": 3,
                "channel": 3,
                "activity": 0.000,
                "azimuth": 343.892,
                "elevation": 27.878
            }
        ]
    },
    {
        "timeStamp": 1824,
        "unix": 1546905049769,
        "events": [{
                "id": 9,
                "channel": 1,
                "activity": 1.000,
                "azimuth": 227.527,
                "elevation": 10.436
            },
            {
                "id": 3,
                "channel": 3,
                "activity": 0.000,
                "azimuth": 343.882,
                "elevation": 27.899
            }
        ]
    },
    {
        "timeStamp": 1832,
        "unix": 1546905049777,
        "events": [{
                "id": 9,
                "channel": 1,
                "activity": 1.000,
                "azimuth": 227.528,
                "elevation": 10.457
            },
            {
                "id": 3,
                "channel": 3,
                "activity": 0.000,
                "azimuth": 343.877,
                "elevation": 27.910
            }
        ]
    }
]    

Вы можете использовать JSON validator для проверки любого JSON

0 голосов
/ 08 января 2019

У вас должен быть дополнительный член, events для обозначения событий. Как то так:

"unix": 1546905049755,
"events": [
        { "id": 9, "channel": 1, "activity": 1.000, "azimuth": 227.523, "elevation": 10.411 },
        { "id": 3, "channel": 3, "activity": 0.000, "azimuth": 343.892, "elevation": 27.878 }
    ]

Также удалите ][, который упоминается в некоторых местах файла.

Финал JSON:

[
    {
        "timeStamp": 1808,
        "unix": 1546905049755,
        "events": [
            { "id": 9, "channel": 1, "activity": 1.000, "azimuth": 227.523, "elevation": 10.411 },
            { "id": 3, "channel": 3, "activity": 0.000, "azimuth": 343.892, "elevation": 27.878 }
        ]
    },

    {
        "timeStamp": 1824,
        "unix": 1546905049769,
        "events": [
            { "id": 9, "channel": 1, "activity": 1.000, "azimuth": 227.527, "elevation": 10.436 },
            { "id": 3, "channel": 3, "activity": 0.000, "azimuth": 343.882, "elevation": 27.899 }
        ]
    },

    {
        "timeStamp": 1832,
        "unix": 1546905049777,
        "events": [
            { "id": 9, "channel": 1, "activity": 1.000, "azimuth": 227.528, "elevation": 10.457 },
            { "id": 3, "channel": 3, "activity": 0.000, "azimuth": 343.877, "elevation": 27.910 }
        ]
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...