Имя: Пароль:
IT
Админ
Кто чем большой JSON просматривает?
,
0 NorthWind
 
20.06.24
16:57
Добрый день.

Большой XML, например, довольно удобно смотреть с помошью FirstObject XML Editor. Есть еще XML Notepad и некоторые прочие подобные проги.

А вот кто чем JSON смотрит? Я знаю про jsonhero.io, в принципе он мне нравится, но у него есть недостаток - он онлайн. В том числе это не очень хорошо с точки зрения коммерческой тайны - что попало в него лучше не копировать. Есть что-нибудь наподобие, но чтоб работало на компе без инета? Требования, думаю, понятны - чтоб сворачивало-разворачивало, подсвечивало синтаксис и разбиралось с кодировками (нормально показывало русские буквы, когда закодировано через \u).
1 Волшебник
 
20.06.24
16:56
VS Code
Notepad++
2 vde69
 
20.06.24
16:59
(1) +1
3 NorthWind
 
20.06.24
17:00
Да, самое главное требование забыл. Чтобы можно было поставить под пользователем, без админских прав. FirstObject так устанавливается. Поэтому всякие тяжеловесные штуки, скорее всего, уйдут лесом - их под админом ставить надо
4 Хранимая Процедура
 
20.06.24
17:03
Vim, Emacs, ed

klogg, less
5 Волшебник
 
20.06.24
17:01
(4) + Kate
6 Garykom
 
гуру
20.06.24
17:03
VS Code под Win вполне удобно
7 sikuda
 
20.06.24
17:14
(0) Sublime редактировать и просто смотреть Firefox ;)
8 NorthWind
 
20.06.24
17:16
notepad++ портабельный есть на офсайте, попробую его
9 Хондовод
 
20.06.24
17:27
(0) Обычно в браузере, в dev tools. Из плюсов: не нужно ничего устанавливать, можно применять к нему скрипты (фильтровать, сортировать, группировать, форматировать, и т.д, вообще что угодно).

Нотепад++ тоже имеется, но в нем редко просматривают JSON, потому что проще и привычнее в браузере.

Ну и любая мощная IDE, конечно, или редактор типа VS Code, но их ради JSON не станешь устанавливать.
10 NorthWind
 
20.06.24
17:52
(9) как я понимаю, с devtools это имеет смысл, если json интегрирован с web, например, приходит в качестве ответа на запрос. А если локальный или в буфере обмена? Но за идею спасибо, поковыряюсь, хром есть на машине
11 Хондовод
 
20.06.24
20:31
(10) В консоль devtools вставляешь свой JSON из буфера обмена через Ctrl+V (можно даже не отформатированный и кривой), нажимаешь Ентер, получаешь JS-объект. Можно его сразу в переменную сохранить для удобства. Типа так:

myObj = {"x": 1, "y": [1, 2, 3]}

С ним делаешь что хочешь, если немного знаешь JS. Потом, когда закончил манипуляции, сохраняешь обратно в текст, сформатированный как тебе нравится, это самое сложное, нужно знать такую команду:

console.log(JSON.stringify(myObj, null, '\t'))

myObj - это твоя переменная.
Вместо \t можно подставить свои пробельные символы, для отступа.

получаешь вот такой красивый:

{
    "x": 1,
    "y": [
        1,
        2,
        3
    ]
}

Но это удобно если нужно обработать именно большой JSON автоматически, с применением алгоритмов. А если просто глазами посмотреть и попечатать текст вручную, то можно и в блокнотике.
12 H A D G E H O G s
 
20.06.24
20:28
К удивлению - Firefox
13 vde69
 
20.06.24
20:32
вот у меня была проблемма чем открыть XML размером > 0.5 ТБ
14 Хондовод
 
20.06.24
20:58
(13) И чем в итоге открыл?

ИМХО, это не совсем правильно, открывать файлы, не предназначенные для редактирования человеком, в визуальном текстовом редакторе.
Это все равно что файл базы данных 1С редактировать в текстовом виде, проводить документы, например, в блокнотике.
15 NorthWind
 
20.06.24
21:59
(13) я недавно открывал здоровый XML, кажется он был что-то около сотни метров или чуть больше. Edge умер на нем. Помогла та приблуда что в (0) указана - FirstObject XML Editor, ей удалось успешно полазить и найти что надо.
16 NorthWind
 
20.06.24
22:15
(11) речь о работе корпоративного приложения с кафкой. Там кидают на нее довольно большие JSONы (ну не пипец огромные, но приличные, в сотни килбоайт - мегабайты), которые иногда надо проконтролировать визуально. Смотреть блокнотом неудобно из-за длины и из-за нечитаемости строк, написанных через \u. Идеал jsonhero.io - когда следующее вложение дерева ты можешь раскрыть не ниже, а в окне рядом, как фар менеджер или тотал коммандер. Вот если б что-то подобное оффлайн было - цены бы не было. Но фиг с ним, пусть хотя бы сверху вниз позволяет сворачивать/разворачивать, подсвечивает синтаксис и нормально показывает юникодные строки, записанные в \u - уже будет достаточно.
17 Хондовод
 
20.06.24
22:28
(16) Зачем контролировать визуально мегабайты текста?
18 Asmody
 
20.06.24
22:38
Sublime Text неплохо с большими файлами справляется.

но если файл реально здоровый, то лучше его распарсить чем-то типа jq, а потом уже смотреть
19 Asmody
 
20.06.24
22:40
(16) ну так может переварить "визуальные смотрения" в правила для того же jq и через него файлы пропускать?
20 Web00001
 
21.06.24
07:16
(11)>В консоль devtools вставляешь свой JSON
Я взял твой пример и попробовал. Но где-то натупил судя по всему https://imgur.com/a/CLneuHY что не так то?
21 arsik
 
гуру
21.06.24
08:20
(20) 1,2,3 - так нельзя - можно
22 NorthWind
 
21.06.24
08:27
По Notepad++. Запустил, скачал плагин JSON Tools. Вставил JSON, включил просмотр в виде дерева. Ну шо я вам скажу... в принципе ничо так, можно бы пользоваться... НО! Почему строки вида "\u041E\u0411\u0415\u0417\u0416\u0418\u0420" в кириллицу нормальную не преобразует? Может, как-то можно? Это нужно обязательно, основная головная боль что ничего по-русски прочитать нельзя.
23 NorthWind
 
21.06.24
15:48
(20) у меня то же самое. И довольно много лишних телодвижений, что уже не очень нравится.
24 Хондовод
 
21.06.24
16:46
(20) Ты не то вставил. Пример, который надо вставлять, вот это:

myObj = {"x": 1, "y": [1, 2, 3]}

А вот это уже результат, что мне выдало на выходе:

{
    "x": 1,
    "y": [
        1,
        2,
        3
    ]
}

Если хочешь вставить именно его, то напиши перед ним присваивание в переменную или оберни в скобки, а то консоль не понимает что это не блок кода, а объект.
Вот так:
({
    "x": 1,
    "y": [
        1,
        2,
        3
    ]
})

Или вот так:

блаблабла = {
    "x": 1,
    "y": [
        1,
        2,
        3
    ]
}
25 Хондовод
 
21.06.24
16:59
(22) Он все правильно отображает. JSON именно так и выглядит в текстовом виде. Если хочешь чтобы его отображало в кириллице, нужно сначала распарсить JSON  в обычный объект, и все будет хорошо читаться. Как я уже писал выше. Вот так:
26 Хондовод
 
21.06.24
17:05
(23) Насчет много лишних телодвижений, сомнительное утверждение. Когда дойдет до редактирования, то в сравнении с блокнотом, телодвижений выйдет намного меньше. Например, если нужно удалить все ветки дерева, в которых вложенный объект имеет свойство со значением 'ОБЕЗЖИР'. Как ты это представляешь в блокноте? Сложными регулярными выражениями? А в консоли легче, пробежался циклом, и готово. Плюс защита от ошибок когда где-то забыл скобку закрыть, или наоборот лишнюю оставил, или криво что-то удалил.
27 NorthWind
 
21.06.24
18:15
(26) когда через stringify отобразил - отобразилось, но там ни свертывания-развертывания, ни подсветки синтаксиса. Хорошо хоть отступы сделал. Попытался как в (25) - получилось покрасивее, но он показывает именно объект с разными методами и прочими кишками, то есть очень много мусора. Мне нужен конкретно мой JSON и больше ничего не нужно.
>> Насчет много лишних телодвижений, сомнительное утверждение. Когда дойдет до редактирования -- не дойдет. Если мне понадобится что-то добавить или убрать в этом JSON, я просто исправлю задачу, которая его формирует. Здесь же мне нужен просто удобный вьювер - элементов там много, нужно просмотреть отдельные ветки что ничего не пропущено или, наоборот, нет того, что не нужно. Для этого нужно нормальное отображение кириллицы, свертка-развертка веток, чтобы он не выходил на десятки экранов, подсветка синтаксиса ну и опционально поиск (Ctrl-F) иногда бывает небесполезен.
Ну блин... чтоб ты понимал, открой просто - https://jsonhero.io и скопипасть туда кусок JSONa в его строку навигации. Вот такое надо, умные люди уже все давно сделали. У меня к нему единственная претензия - в соответствии с положением о коммерческой тайне нельзя некоторые вещи на свободные сетевые ресурсы копировать.
28 Хондовод
 
21.06.24
19:44
(27) Ну елы-палы, так бы сразу и сказал. Если не нужно редактировать, то просто открой его в браузере.

https://codepo8.github.io/json-dummy-data/6MB.json
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.