Gyldig JSON give JSONDecodeError: Forventer , delimiter

Jeg forsøger at parse json-respons data fra youtube api, men jeg bliver ved med at få en fejl.

Her er det uddrag, hvor det kvælning:

data = json.loads("""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")

..og det sker:

JSONDecodeError: Expecting , delimiter: line 1 column 23 (char 23)

Jeg har bekræftet, at det er gyldig json, og jeg har ingen kontrol over formateringen af det, så hvordan kan jeg komme forbi med denne fejl?

OriginalForfatteren ofko | 2012-02-06

2 svar

  1. 28

    Du har brug for en r før”,””, eller erstat alle \ med \\. Dette er ikke noget du bør bekymre sig om når det læses json fra et andet sted, men noget i selve strengen.

    data = json.loads(r"""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")

    se her for mere information

    OriginalForfatteren Felix Yan

  2. 4

    Du nødt til at tilføje r før din json streng.

    >>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }'
    >>> data = json.loads(st)
    >>>
    Jeg tror, det er bedre at bruge “”” i stedet for ” at vedlægge json, fordi de data, der kan have ikke-kodet anførselstegn i det. Tak for svaret.
    Jeg ved, at jeg bare skrev det for klarhed.

    OriginalForfatteren RanRag

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *