Я хочу кодировать объекты в JSON. Но я не могу понять, как сделать вывод без экранирования строки.
import json
class Abc:
def __init__(self):
self.name="abc name"
def toJSON(self):
return json.dumps(self.__dict__, cls=ComplexEncoder)
class Doc:
def __init__(self):
self.abc=Abc()
def toJSON(self):
return json.dumps(self.__dict__, cls=ComplexEncoder)
class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Abc) or isinstance(obj, Doc):
return obj.toJSON()
else:
return json.JSONEncoder.default(self, obj)
doc=Doc()
print doc.toJSON()
Результат (дамп возвращает строковое представление, поэтому экранируются символы ")
{"abc": "{\"name\": \"abc name\"}"}
Я хочу кое-что немного другое. ожидаемый результат
{"abc": {"name": "abc name"}"}
Но я не понимаю, как ... Я не могу понять, как сделать вывод без экранирования строки. import json class Abc: def __init __ (self): self.name = "abc name" def ...
Я хочу кодировать объекты в JSON. Но я не могу понять, как сделать вывод без экранирования строки.
import json
class Abc:
def __init__(self):
self.name="abc name"
def toJSON(self):
return json.dumps(self.__dict__, cls=ComplexEncoder)
class Doc:
def __init__(self):
self.abc=Abc()
def toJSON(self):
return json.dumps(self.__dict__, cls=ComplexEncoder)
class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Abc) or isinstance(obj, Doc):
return obj.toJSON()
else:
return json.JSONEncoder.default(self, obj)
doc=Doc()
print doc.toJSON()
Результат (дамп возвращает строковое представление, поэтому экранируются символы ")
{"abc": "{\"name\": \"abc name\"}"}
Я хочу кое-что немного другое. ожидаемый результат
{"abc": {"name": "abc name"}"}
Но я не понимаю, как ... Я не могу понять, как сделать вывод без экранирования строки. import json class Abc: def __init __ (self): self.name = "abc name" def ...
Я хочу кодировать объекты в JSON. Но я не могу понять, как сделать вывод без экранирования строки.
import json
class Abc:
def __init__(self):
self.name="abc name"
def toJSON(self):
return json.dumps(self.__dict__, cls=ComplexEncoder)
class Doc:
def __init__(self):
self.abc=Abc()
def toJSON(self):
return json.dumps(self.__dict__, cls=ComplexEncoder)
class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Abc) or isinstance(obj, Doc):
return obj.toJSON()
else:
return json.JSONEncoder.default(self, obj)
doc=Doc()
print doc.toJSON()
Результат (дамп возвращает строковое представление, поэтому экранируются символы ")
{"abc": "{\"name\": \"abc name\"}"}
Я хочу кое-что немного другое. ожидаемый результат
{"abc": {"name": "abc name"}"}
Но я не понимаю, как ... Есть подсказки?
заранее спасибо.