Мне нужно вызвать службу для извлечения некоторых данных из нее. Я использую локон для этогоCurl для извлечения нескольких объектов JSON
Curl Команда
< /example/data/sample.dat xargs -P10 curl -H "Authorization: Bearer $token" -X GET -L > /example/json/data.json
У меня есть маркер приложения, который я использую здесь.
Файл sample.dat выглядит следующим образом
"http://xxx/marketing/insights/v1/info?id=0553153617,B003W0CI6Y,B000R08E7Y,B001O2SAAU,B00B1MP3MG,B00QRHJBPU,B00007B4DC,0852597088,B0000003H4,1937715213&fields=product.title,product.url,&fieldgroups=default"
"http://xxx/marketing/insights/v1/info?id=0553153617,B003W0CI6Y,B000R08E7Y,B001O2SAAU,B00B1MP3MG,B00QRHJBPU,B00007B4DC,0852597088,B0000003H4,1937715213&fields=product.title,product.url,&fieldgroups=default"
"http://xxx/marketing/insights/v1/info?id=0746029853,035,B004SI9OKW,1572841451,B00FC1BQUA,3170218085,B009QJYBVK,B0181P5E42,B01J8JRZ92,0961268611&fields=product.title,product.url,&fieldgroups=default"
"http://xxx/marketing/insights/v1/info?id=1402206836,B006FQQMZA,1624386903,B001ANZW0O,0872200450,B0035LCSCO,B00JRQ7T5W,1401951341,B00PKSCDRU,B00PKR4UW2&fields=product.title,product.url,&fieldgroups=default"
Итак, как вы видите, я сделать параллельные вызовы с 10 ид к службе.
Выход, который я получаю, составляет 3 объекта JSON в файле /example/json/data.json
.
Пример:
{.....}{...}{...}
Теперь, когда я должен разобрать его с помощью питона, он не говоря недействительный JSON. То исправить, потому что файл не представляет собой стандартный формат JSON массива
Таким образом, используя СЭД, я попытался изменить его
[{.....},{...},{...}]
Теперь это выглядит как JSON и может быть разобрано. Эта логика отлично работала для небольших данных, но с большими данными, я думаю, что мой sed не смог поместить ,
в нужное место внутри JSON, и, следовательно, это привело к неправильному файлу. В результате синтаксический анализатор JSON в python не работает.
Теперь я думаю, если я могу иметь отдельные JSON объекты на каждой линии как
{...}
{...}
{...}
Таким образом, я могу прочитать файл построчно.
Может кто-то помочь с тем, как я могу изменить завиток для вывода отдельных jsons на каждой линии, как
{...}
{...}
{...}
Это работало для нескольких, но не для всех случаев. Где-то посередине это плохое поведение – donny
Почему бы вам не написать их для разделения файлов JSON вместо того, чтобы идти в один и тот же файл? – Barmar
Можете ли вы предложить, как я могу настроить приложение curl? – donny