How to convert JSON data into JSON?

Question:

I have got an a JSON lines file:

{"sample": [" Какие советы помогут вам составить успешный бизнес-план?", "n1. Изучите свой целевой рынок: поймите, кому вы продаете, насколько велика конкуренция и текущие тенденции.n2. Определите свою бизнес-модель и стратегии: решите, какие продукты и услуги вы будете предлагать и как вы будете конкурировать на рынке.n3. Наметьте свои финансовые прогнозы: оцените начальные затраты, прогнозы доходов и эксплуатационные расходы.n4. Проанализируйте риски: определите потенциальные проблемы и разработайте стратегии для их смягчения.n5. Разработайте маркетинговый план: спланируйте, как вы будете продвигать свой бизнес и привлекать новых клиентов.n6. Установите вехи: установите краткосрочные и долгосрочные цели и разработайте план измерения прогресса."]}
{"sample": [" Опишите место, где вы оказываетесь в безмятежной обстановке средневековой гостиницы с экраном из рисовой бумаги.", " Прочные пасторские столы и низкие скамейки предлагают тихое место, где можно поесть и выпить еду, принесенную с собой или купленную в ближайшей пекарне. В задней части комнаты дверь, ведущая на кухню и в личные покои владельца, наполовину скрыта экраном из рисовой бумаги."]}

I need to convert it into JSON. How can i do it?

I try to make it by:

import json

data = []
with open('1.txt', encoding='utf-8') as f:
    for line in f:
        data.append(json.loads(line))

with open('test_output.json', 'w') as f:
    json.dump(data, f)

but it takes an exception:

raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 156 (char 155)

How can i fix it?

Answers:

Maybe your file contains some blank lines, please ignore them:

import json

data = []
with open('json_f.txt', encoding='utf-8') as f:
    for line in f:
        if line.strip():
            data.append(json.loads(line))

with open('test_output.json', 'w') as f:
    json.dump(data, f)
Answered By: veekxt
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.