I'm currently building an application in python
where I have a class Corpus
. I would like to convert this class to a json
format and save it to a json
file. Then load the file and finally turn back the json
to its Class Corpus
.
In order to do that I use the library jsonpickle
. The problem is when I load the json
, the type is a dictionary and jsonpickle.decode
wants a string. I tried to convert the dictionary to a string but its not working.
I hope someone will be able to help me.
Here is my code of my class "Json" (to save and load my Corpus)"
import json, jsonpickle
class Json:
def __init__(self):
self.corpus = {}
def saveCorpus(self,corpus):
jsonCorpus = jsonpickle.encode(corpus,indent=4,make_refs=False)
with open('json_data.json', 'w') as outfile:
outfile.write(jsonCorpus)
def loadCorpus(self):
with open('json_data.json', 'r') as f:
self.corpus = json.load(f)
def getCorpus(self):
return self.corpus
error :
TypeError: the JSON object must be str, bytes or bytearray, not dict