@Fox said in [Можно ли получить родительский объект с помощью дочернего v JSON?]
А что нужно получить то?
Ни ты, ни я, ни ChatGPT не поняли вопроса.
Всем добрый день, подскажите пожалуйста по массиву JSON.
Несколько тысяч JSON отдается на одной странице, возможно ли как-то сделать проще, чем парсить это все в список, а потом перебором собирать значения?
Речь о прокси. До этого не сталкивался с таким, сильно не пинайте )))
Забирать по одному возможности нет, в теории, можно забрать все это со страницы регуляркой, насколько я понимаю, но видится мне, так как цифр левых много - будет достаточно гемморно.
@lcatlas said in Множественный JSON:
Всем добрый день, подскажите пожалуйста по массиву JSON.
Несколько тысяч JSON отдается на одной странице, возможно ли как-то сделать проще, чем парсить это все в список, а потом перебором собирать значения?
Речь о прокси. До этого не сталкивался с таким, сильно не пинайте )))
Забирать по одному возможности нет, в теории, можно забрать все это со страницы регуляркой, насколько я понимаю, но видится мне, так как цифр левых много - будет достаточно гемморно.
Если вы получаете прокси с какого то сервиса, то обычно на этих сервисах можно изменить вид получения, что описывается в API сервиса.
С помощью json очень удобно, быстро и легко доставать любые значения. Главное правильно написать код.
Вам подойдет этот модуль - https://community.bablosoft.com/topic/6192/модуль-парсинга-json
Это не сервис, это сайт с кучей проксей выложенных в JSON формате, с парсера. Никаких вариантов получения/апи и тд - нет.
Спасибо большое за ответ, хотел просто поинтересоваться, нет ли более быстрого варианта, нежели парсить по одному значению через таблицу.
Дело в том, что у меня массив данных, там 10к одинаковых JSON по формату, JSON модуль читает JSON построчно, насколько я понял и потестировал.
Мне бы хотелось обработать файл в 10 тысяч одинаковых JSON значений скопом.
Ибо если у меня уже есть пробел между данными (а он там есть) - чтение прекращается, возможно стоит убрать пробел между данными, хммм, вопрос лишь как между } { убрать это пробел )
Но что-то мне подсказывает, что дело не в пробеле ) Хотя может и в нем, и я туплю.
@lcatlas said in Множественный JSON:
Это не сервис, это сайт с кучей проксей выложенных в JSON формате, с парсера. Никаких вариантов получения/апи и тд - нет.
Спасибо большое за ответ, хотел просто поинтересоваться, нет ли более быстрого варианта, нежели парсить по одному значению через таблицу.
Дело в том, что у меня массив данных, там 10к одинаковых JSON по формату, JSON модуль читает JSON построчно, насколько я понял и потестировал.
Мне бы хотелось обработать файл в 10 тысяч одинаковых JSON значений скопом.
Ибо если у меня уже есть пробел между данными (а он там есть) - чтение прекращается, возможно стоит убрать пробел между данными, хммм, вопрос лишь как между } { убрать это пробел )
Недавно это делал. Через список и базу там за 1 сек обрабатытваеться.
Так я и так получаю нужные значения в список и работаю с ними ) Просто это занимает минут 7.
Нене, все работает, уважаемый Uraabk, я может неверно выразился. Меня вопрос оптимизации процесса интересует. Тут подсказали с базой, сейчас буду пробовать, с базами до этого не работал.
Тогда я правда туплю. У меня есть список, в списке куча одинаковых строк с одинаковыми значениями, меняется только несколько цифр. Пытаюсь скормить этот список - Syntax Error, чтобы я не пробовал. И через (0), и просто так. Как только значение одно, а не 10 сразу, он все отлично обрабатывает.
Да в том то и дело, что прежде чем создать топик я поднял 30 топиков изначально.
@lcatlas said in Множественный JSON:
Тогда я правда туплю. У меня есть список, в списке куча одинаковых строк с одинаковыми значениями, меняется только несколько цифр. Пытаюсь скормить этот список - Syntax Error, чтобы я не пробовал. И через (0), и просто так. Как только значение одно, а не 10 сразу, он все отлично обрабатывает.
Да в том то и дело, что прежде чем создать топик я поднял 30 топиков изначально.
Скиньте тестовый скрипт или приложите файл со строками. Так будет быстрее
Пример:
{"port": 8017, "host": "8.8.8.8", "from": "slash", "export_man": ["8.8.8.8", "8.8.8.8", "8.8.8.8"], "ty": "http", "resp": 4.86, "us": "en"} {"port": 8018, "host": "9.9.9.9", "from": "slash", "export_man": ["9.9.9.9", "9.9.9.9", "9.9.9.9"], "ty": "http", "resp": 5.76, "us": "en"}
И таких 10к строк.
Использую:
var json = JSON.parse([[FOREACH_DATA]])
VAR_HOST = json.host
VAR_PORT = json.port
Так как ругается на синтакс. Но, скорее всего это мне просто знаний не хватает.
@lcatlas said in Множественный JSON:
Пример:
{"port": 8017, "host": "8.8.8.8", "from": "slash", "export_man": ["8.8.8.8", "8.8.8.8", "8.8.8.8"], "ty": "http", "resp": 4.86, "us": "en"} {"port": 8018, "host": "9.9.9.9", "from": "slash", "export_man": ["9.9.9.9", "9.9.9.9", "9.9.9.9"], "ty": "http", "resp": 5.76, "us": "en"}И таких 10к строк.
Использую:
var json = JSON.parse([[FOREACH_DATA]]) VAR_HOST = json.host VAR_PORT = json.portТак как ругается на синтакс. Но, скорее всего это мне просто знаний не хватает.
Судя по названию переменной [[FOREACH_DATA]] вы перебираете весь список через действие foreach BAS. Перебирать большой массив через действия BAS выходит медленнее чем просто на js.
Я просил тестовый скрипт, чтобы понять, где и в каком виде у вас данные.
@lcatlas если я все верно понял, то примерно так получается в выполнить код.
//задаем переменные
[[RESOURCE]] = '{"port": 8017, "host": "8.8.8.8", "from": "slash", "export_man": ["8.8.8.8", "8.8.8.8", "8.8.8.8"], "ty": "http", "resp": 4.86, "us": "en"} {"port": 8018, "host": "9.9.9.9", "from": "slash", "export_man": ["9.9.9.9", "9.9.9.9", "9.9.9.9"], "ty": "http", "resp": 5.76, "us": "en"}';
[[IP]] = [];
[[PORT]] = [];
//делаем магию
[[RESULT]] = "[" + [[RESOURCE]].replace(/\} \{/g, "},{") + "]";
//получаем данные из json
var json = JSON.parse([[RESULT]]);
for (i = 0; i < json.length; i++) {
[[IP]].push(json[i].host);
[[PORT]].push(json[i].port);
}