Beachten Sie, dass ich überprüft habe, wie die mit Python in die Datei geschriebene JSON-Zeichenfolge analysiert wird.
json.load ()
)Für eine solche Datei
data.json
{
"data":{
"a": "Hallo",
"b": 123
},
"c": true
}
JSON-Analyse kann durchgeführt werden, indem ** json.load ()
** für die von open ()
erfassten Daten verwendet wird.
import json
raw = open('data.json', 'r')
type(raw)
# <class '_io.TextIOWrapper'>
parsed = json.load(raw)
type(parsed)
# <class 'dict'>
parsed
# {'data': {'a': 'Hallo', 'b': 123}, 'c': True}
print(json.dumps(parsed, ensure_ascii=False, indent=4))
#{
# "data":{
# "a": "Hallo",
# "b": 123
# },
# "c": true
#}
json.loads
)-- json.loads
kann keine Daten vom Typ TextIOWrapper analysieren.
json.loads(raw)
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# File "/usr/lib64/python3.6/json/__init__.py", line 348, in loads
# 'not {!r}'.format(s.__class__.__name__))
# TypeError: the JSON object must be str, bytes or bytearray, not 'TextIOWrapper'
das ist alles