# Результаты в формате JSON Результаты проверки могут быть выведены в формате JSON. Для этого необходимо указать аргумент `-j` перед вызовом программы. Структуры описаны файлах: - [Канал](../app/playlist/channel.go) - [Группа](../app/playlist/group.go) - [Плейлист](../app/playlist/playlist.go) Ниже описан пример результата проверки плейлиста с четырьмя каналами: 1. `01df21bb720e46fa8b3a1c064effa41f` доступен для просмотра, сервер отдаёт m3u с разными потоками; 2. `36a32a9741e869d182c21beb38dce0c9` доступен для просмотра, сервер отдаёт сразу один поток с бинарными данными, в ответе они скрыты строкой `"binary"`; 3. `2dab47162d78814e2a55b65c292d91e7` не доступен для просмотра, сервер отдаёт ошибку 403 и html страницы-заглушки; 4. `d5e815a6cb24221b317afc3eb436b537` не доступен для просмотра, произошла ошибка при проверке. ```json [ { "code": "ru", "name": "[iptv-org] Российские", "description": "", "url": "https://raw.githubusercontent.com/iptv-org/iptv/master/streams/ru.m3u", "source": "https://github.com/iptv-org/iptv", "content": "#EXTM3U\n#EXTINF:-1 tvg-id=\"vijuPlusComedy.ru\",viju+ Comedy (1080p)\nhttp://77.235.1.17/vip_comedy/index.m3u8\n#EXTINF:-1 tvg-id=\"NanoHD.ru\",Нано ТВ HD\nhttp://s1.tv-nano.com/Nano_rec/index.m3u8\n#EXTINF:-1 tvg-id=\"\",TRK 555 (720p)\nhttp://trk555.tv:8888/live\n#EXTINF:-1 tvg-id=\"NizhniyNovgorod24.ru\",Нижний Новгород 24 (720p) [Not 24/7]\nhttps://live-vestinn.cdnvideo.ru/vestinn/nn24-khl/playlist.m3u8\n", "isOnline": true, "attributes": null, "groups": {}, "channels": { "01df21bb720e46fa8b3a1c064effa41f": { "id": "01df21bb720e46fa8b3a1c064effa41f", "title": "Нано ТВ HD", "url": "http://s1.tv-nano.com/Nano_rec/index.m3u8", "groupId": "", "attributes": { "tvg-id": "NanoHD.ru" }, "status": 200, "isOnline": true, "error": "", "content": "#EXTM3U\n#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=670000,BANDWIDTH=840000,RESOLUTION=480x270,FRAME-RATE=25.000,CODECS=\"avc1.4d400d,mp4a.40.2\",CLOSED-CAPTIONS=NONE\ntracks-v3a1/mono.ts.m3u8\n#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1320000,BANDWIDTH=1650000,RESOLUTION=640x360,FRAME-RATE=25.000,CODECS=\"avc1.4d4015,mp4a.40.2\",CLOSED-CAPTIONS=NONE\ntracks-v2a1/mono.ts.m3u8\n#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=2380000,BANDWIDTH=2980000,RESOLUTION=1024x576,FRAME-RATE=25.000,CODECS=\"avc1.4d401e,mp4a.40.2\",CLOSED-CAPTIONS=NONE\ntracks-v1a1/mono.ts.m3u8\n", "contentType": "application/vnd.apple.mpegurl", "tags": [ "untagged" ], "checkedAt": 1234567890 }, "36a32a9741e869d182c21beb38dce0c9": { "id": "36a32a9741e869d182c21beb38dce0c9", "title": "TRK 555 (720p)", "url": "http://trk555.tv:8888/live", "groupId": "", "attributes": { "tvg-id": "" }, "status": 200, "isOnline": true, "error": "", "content": "\u003cbinary\u003e", "contentType": "application/octet-stream", "tags": [ "untagged" ], "checkedAt": 1234567890 }, "2dab47162d78814e2a55b65c292d91e7": { "id": "2dab47162d78814e2a55b65c292d91e7", "title": "Нижний Новгород 24 (720p) [Not 24/7]", "url": "https://live-vestinn.cdnvideo.ru/vestinn/nn24-khl/playlist.m3u8", "groupId": "", "attributes": { "tvg-id": "NizhniyNovgorod24.ru" }, "status": 403, "isOnline": false, "error": "\u003chtml\u003e\r\n\u003chead\u003e\u003ctitle\u003e403 Forbidden\u003c/title\u003e\u003c/head\u003e\r\n\u003cbody\u003e\r\n\u003ccenter\u003e\u003ch1\u003e403 Forbidden\u003c/h1\u003e\u003c/center\u003e\r\n\u003chr\u003e\u003ccenter\u003enginx\u003c/center\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n", "content": "", "contentType": "text/html", "tags": [ "RU", "local", "news" ], "checkedAt": 1234567890 }, "d5e815a6cb24221b317afc3eb436b537": { "id": "d5e815a6cb24221b317afc3eb436b537", "title": "viju+ Comedy (1080p)", "url": "http://77.235.1.17/vip_comedy/index.m3u8", "groupId": "", "attributes": { "tvg-id": "vijuPlusComedy.ru" }, "status": 0, "isOnline": false, "error": "", "content": "", "contentType": "", "tags": [ "untagged" ], "checkedAt": 1234567890 } }, "onlineCount": 2, "offlineCount": 2, "checkedAt": 1234567890 } ] ``` На этом примере видно, что: - `channels` не массив, а объект, в котором ключи равны идентификаторам каналов `id`; - `attributes` не массив, а объект, в котором ключи есть названия атрибутов.