noch eine frage zu json

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

hallo, Ich habe noch eine frage zum json format:
webseiten wie diese http://json.org/example.html
sagen ich könnte einen json haben der so aussieht:

Code: Alles auswählen

{"a":1,"b":2}
python gibt mir jedoch darauf diesen fehler

Code: Alles auswählen

>>> print json.loads({"a":1,"b":2})

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    print json.loads({"a":1,"b":2})
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
Ist es jetzt gültig oder nicht?
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Ist es. Nur solltest Du json.loads auch eine Zeichenkette übergeben. Der Traceback sagt Dir dies ebenfalls.
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

Also wie mache ich das gültig? Einfach nur in anführunszeichen setzten?
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ja:

Code: Alles auswählen

In [1]: import json

In [2]: json.loads('{"a":1,"b":2}')
Out[2]: {u'a': 1, u'b': 2}

In [3]: json.loads("""{"a":1,"b":2}""")
Out[3]: {u'a': 1, u'b': 2}
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

Vielen Dank!
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
Antworten