Seite 1 von 1

noch eine frage zu json

Verfasst: Dienstag 20. Mai 2014, 05:13
von Kamik423
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?

Re: noch eine frage zu json

Verfasst: Dienstag 20. Mai 2014, 06:18
von bwbg
Ist es. Nur solltest Du json.loads auch eine Zeichenkette übergeben. Der Traceback sagt Dir dies ebenfalls.

Re: noch eine frage zu json

Verfasst: Dienstag 20. Mai 2014, 14:31
von Kamik423
Also wie mache ich das gültig? Einfach nur in anführunszeichen setzten?

Re: noch eine frage zu json

Verfasst: Dienstag 20. Mai 2014, 14:37
von cofi
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}

Re: noch eine frage zu json

Verfasst: Dienstag 20. Mai 2014, 14:56
von Kamik423
Vielen Dank!