Python создает дамп "\ n" вместо новой строки в файле json - PullRequest
0 голосов
/ 06 июля 2019

Я брал некоторые данные через API Graph Facebook и сохранял их в формате json в новом файле. Однако всякий раз, когда я пытаюсь сохранить его в файле, новые строки на самом деле не отображаются как новые строки, а отображаются как "\ n". Кроме того, обратный слеш также добавляется перед любыми данными.

Например,

Я хочу сохранить данные в следующем формате:

{
"feed": {
"data": [
{
"message": "XYZ",
"created_time": "0000-00-0000:00:00+0000",
"id": ABC"
}

Но он сохраняется в этом формате (в одну строку)

"{\n\"feed\": {\n\"data\": [\n{\n\"message\": \"XYZ\",\n\"created_time\": \"0000-00-0000:00:00+0000\",\n\"id\": \"ABC\"\n}

Как сохранить его в первом формате, а не во втором?

Я использовал этот код:

url2 = '{0}?fields={1}&access_token={2}'.format(url,fields,token) #the format in which the API receives the request to get the data which is needed
# token is the access token, url is to connect to fb and fields is the data I want
size = os.path.getsize('new.json') #gets the size of the file 
content = requests.get(url2).json()  #obtaining the content 
obj = json.dumps(content,indent = 4) 

with open('new.json','r+') as f:    #if file size is 0, delete all content and rewrite with new and old content 
    if size>0:
        f.truncate(0)
    json.dump(obj,f)

Несмотря на то, что я использовал отступ, он печатается не так, как я хочу. Помощь оценена!

1 Ответ

0 голосов
/ 06 июля 2019

Вы используете json.dumps для создания JSON-представления ваших данных.Затем вы используете json.dump для создания JSON-представления этого представления.Вы дважды меняете это.Просто используйте один или другой.

...