Odpowiedzi:
dumps pobiera obiekt i tworzy ciąg:
>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'
load wziąłby obiekt plikopodobny, odczytałby dane z tego obiektu i użyłby tego ciągu do stworzenia obiektu:
with open('file.json') as fh:
a = json.load(fh)
Należy pamiętać, że dumpi loadkonwersji pomiędzy plikami i obiektami, podczas dumpsi loadskonwertować między ciągi i obiektów. Możesz myśleć o sfunkcjach -less jako o opakowaniach wokół sfunkcji:
def dump(obj, fh):
fh.write(dumps(obj))
def load(fh):
return loads(fh.read())
objectw znaczeniu „czegoś innego niż str”. Łańcuch taki jak '"foo"'jest dekodowany do obiektu Pythona ; ciąg taki jak jest dekodowany do listy Pythona itp.str'foo'"[1,2,3]"[1,2,3]
dumps()- kodowanie do obiektów JSON dump()- zakodowany ciąg znaków zapisany w pliku loads()- dekodowanie ciągu JSON load()- dekodowanie podczas odczytu pliku JSON
json load -> zwraca obiekt z ciągu znaków reprezentujących obiekt json.
json dumps -> zwraca ciąg znaków reprezentujący obiekt json z obiektu.
załaduj i zrzuć -> czytaj / zapisuj z / do pliku zamiast ciągu