LINUX.ORG.RU

распарсить json данные

 ,


0

4

Есть данные в формате json. Нужно использовать либо си библиотеку, например json,json-c,json-glib. или c++ библиотеку jsoncpp. Нужно получить нужные данные из json данных. Как это сделать?

Ответ на: комментарий от XMs

Желаю получать массивы по паре миллиардов элементов каждый. Кто говорил, что любит быстрое?

Даже и незнаю, нужна ли будет эта информация. Надо другие запросы посмотреть, вдруг что нибудь интересное найду. Хочу сделать чтобы оповещалось, когда появляется новая вакансия в определенных категориях. Вот вывод урезанный. А так если соберусь это заворачивать, то заверну в TreeView, там как раз древовидный список, то что нужно.

->Финансовый сектор
	Страхование, перестрахование
	НПФ
	Лизинговые компании
	Коллекторская деятельность
	Финансово-кредитное посредничество (биржа, брокерская деятельность, выпуск и обслуживание карт, оценка рисков, обменные пункты, агентства по кредитованию, инкассация, ломбард, платежные системы)
	Факторинговые компании
	Управляющая, инвестиционная компания (управление активами)
	Банк
	Услуги по ведению бухгалтерского и налогового учета, расчет заработной платы
	Аудит, управленческий учет, финансово-юридический консалтинг
->Товары народного потребления (непищевые)
	Бытовая химия, парфюмерия, косметика  (продвижение, оптовая торговля)
	Бытовая химия, парфюмерия, косметика  (производство)
	Мебель (продвижение, оптовая торговля)
	Мебель (производство)
	Канцтовары, расходные материалы (продвижение, оптовая торговля)
	Канцтовары, расходные материалы (производство)
	Сантехника (продвижение, оптовая торговля)
	Сантехника (производство)
	Одежда, обувь, аксессуары, текстиль  (продвижение, оптовая торговля)
	Одежда, обувь, аксессуары, текстиль (производство)
	Спортивные товары и оборудование (продвижение, оптовая торговля)
	Спортивные товары и оборудование (производство)
	Стройматериалы, сборные конструкции для ремонта и строительства (производство, монтаж, сервис, ремонт)
	Стройматериалы, сборные конструкции для ремонта и строительства (продвижение, оптовая торговля)
	Посуда, свет, товары для дома  (продвижение, оптовая торговля)
	Посуда, свет, товары для дома  (производство)
	Табак  (продвижение, оптовая торговля)
	Табак  (производство)
	Ювелирные изделия, бижутерия  (продвижение, оптовая торговля)
	Ювелирные изделия, бижутерия  (производство)
	Товары для детей (продвижение, оптовая торговля)
	Товары для детей (производство)

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Вот же ты упоротый.

import json
import urllib

f = urllib.urlopen("https://api.hh.ru/industries")
j = json.loads(f.read())

for e in j:
    print "->" + e["name"]
    for e2 in e["industries"]:
        print "\t" + e2["name"]

На всё про всё ушло восемь минут. Минуты две на поиск документации (я редко пишу такой код), минуты четыре на написание с экспериментами и минуты две на написание сообщения.

А сколько времени убил ты? :-)

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

На всё про всё ушло восемь минут.

Вау.

А сколько времени убил ты? :-)

Очень много, я еще когда получил готовые примеры, пытался с json-glib сделать, и на это тоже времени много ушло. Только потом, когда я понел что несмогу выжать из glib нужную информацию, начал переписывать из jansson.

А вот ты который пример написал, так мало надо для написания.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Ты, по всей видимости, не понял, о чём я. У тебя в цикле считается размер массива. Каждый раз, каждую итерацию. Если в массиве будет 10 элементов, ты в нём обойдёшь 110. Если будет 50 — ты пройдёшься по 2550. Когда можно пройтись лишь по 100 во втором случае и по 20 в первом. Или, если библиотека позволяет, вообще 50 и 10, соответственно.


Хочу сделать чтобы оповещалось, когда появляется новая вакансия в определенных категориях

Делай. Решение такой задачи поднимет слишком много вопросов, задавать и решать которые мне в половину второго ночи не хотелось бы. К тому же, это уже оффтоп, тред про парсинг json-данных, а тут как минимум рассмотрение API хедхантера намечается

XMs ★★★★★
()
Ответ на: комментарий от XMs

Решение такой задачи поднимет слишком много вопросов, задавать и решать которые мне в половину второго ночи не хотелось бы.

Ты когда спать будешь собираться, ты будешь представлять с какими я еще проблемами могу столкнуться и как придется их исправлять?

Я как то делал отслеживание новых новостей, но потом разные ошибки были и я забросил программу.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Ты когда спать будешь собираться, ты будешь представлять с какими я еще проблемами могу столкнуться и как придется их исправлять?

Зачем мне это? У меня перед сном обычно много других мыслей есть, спасибо

XMs ★★★★★
()
Ответ на: комментарий от XMs

У тебя уйдёт больше, только если ты не пользовался питоном до этого.

Писать такое на сях... ну не знаю... В жизни слишком мало боли?

i-rinat ★★★★★
()
Ответ на: комментарий от u0atgKIRznY5

Ну это только для нас, любителей медленного. А ты пиши на Си.

Даже немного интересно, а хоть быстрее питона работать будет?

i-rinat ★★★★★
()
Ответ на: комментарий от Meyer

Так он небось мет имел ввиду.

Тому кому я писал то сообщение, я думал что он колится героином, это я понел из того что он мне пишет, но все таки насчет скорости я имел ввиду «скорость выполнения программы».

u0atgKIRznY5
() автор топика
Ответ на: комментарий от i-rinat

Даже немного интересно, а хоть быстрее питона работать будет?

проверил только на си.

real	0m0,007s
user	0m0,000s
sys	0m0,007s

u0atgKIRznY5
() автор топика
Ответ на: комментарий от XMs

Зачем мне это? У меня перед сном обычно много других мыслей есть, спасибо

А мне весело было от того, что я тебе написал.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от i-rinat

Писать такое на сях... ну не знаю... В жизни слишком мало боли?

Ну а чому бы и нет? Случаи разные бывают. А вот если писать на сях и без готовых библиотек…

XMs ★★★★★
()
Ответ на: комментарий от XMs

json не выглядит сложным форматом. Наверное, и руками парсер можно написать, не особо заморачиваясь. Времени только много уйдёт.

i-rinat ★★★★★
()

На ссайте аффтара лулзы:

Игроку предстоит взять под управление птицу. И окунуться во все сложности полета для птицы.

Паходу аффтар так и астался птицый иба баклан. Бвахахаха!

kirk_johnson ★☆
()
Последнее исправление: kirk_johnson (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.