web-dev-qa-db-fra.com

dump () manque 1 argument positionnel requis: 'fp' dans python json

J'essaie de rendre beau le format JSON mais j'obtiens cette erreur:

import requests as tt
from bs4 import BeautifulSoup
import json

get_url=tt.get("https://in.pinterest.com/search/pins/?rs=ac&len=2&q=batman%20motivation&eq=batman%20moti&etslf=5839&term_meta[]=batman%7Cautocomplete%7Cundefined&term_meta[]=motivation%7Cautocomplete%7Cundefined")
soup=BeautifulSoup(get_url.text,"html.parser")

select_css=soup.select("script#jsInit1")[0]
for i in select_css:
    print(json.dump(json.loads(i),indent=4,sort_keys=True))

En gros, je veux extraire ce type d'élément:

'orig': {'width': 1080, 'url': '', 'height': 1349},

Je sais que je peux le faire avec

select_css.get('orig').get('url')

Mais je ne suis pas sûr que cet élément JSON est un élément imbriqué sous aucun élément? C'est pourquoi j'essaie de prier pour avoir une idée.

18
Aaditya Ura

Utilisez json.dumps() à la place. json.dump() a besoin d'un objet fichier et y ajoute JSON.

48
Hou Lu