Я очень новичок в python и мне нужна помощь, чтобы решить проблему ниже, пожалуйста,
Мне нужно создать python объект с именем Error и затем напечатать его в формате json: Ниже приведена ссылка к изображению структуры объекта введите описание изображения здесь
Класс данных
class Data:
def __init__(self,fileName:str, rowId:int, rowData:str):
self.fileName = fileName
self.rowId= rowId
self.rowData = rowData
def get_fileName(self):
return self.fileName
def set_fileName(self, fileName):
self.fileName = fileName
def get_rowId(self):
return self.rowId
def set_rowId(self, rowId):
self.rowId = rowId
def get_rowData(self):
return self.rowData
def set_rowData(self, rowData):
self.rowData = rowData
Класс ошибок:
from Process import Process
from RootCause import RootCause
import json
class Errors(object):
def __init__(self, process,rootCause):
self.process= process
self.rootCause= rootCause
def get_process(self):
return self.process
def set_process(self, process):
self.process = process
def get_rootCause(self):
return self.rootCause
def set_rootCause(self, rootCause):
self.rootCause = rootCause
def __str__(self):
return (json.dumps(self.process.get_flow))
Класс процесса -
class Process:
def __init__(self, id:str,flow:str,flowSubType:str):
self.id= id
self.flow= flow
self.flowSubType= flowSubType
def get_id(self):
return self.id
def set_id(self, id):
self.id = id
def get_flow(self):
return self.flow
def set_flow(self, flow):
self.flow = flow
def get_flowSubType(self):
return self.flowSubType
def set_flowSubType(self, flowSubType):
self.flowSubType = flowSubType
Класс RootCause -
class RootCause:
def __init__(self,system:str, code:str,message:str,timeStamp:str):
self.system= system
self.code= code
self.message= message
self.timeStamp= timeStamp
def get_system(self):
return self.system
def set_system(self, system):
self.system = system
def get_code(self):
return self.code
def set_code(self, code):
self.code = code
def get_message(self):
return self.message
def set_message(self, message):
self.message = message
def get_timeStamp(self):
return self.timeStamp
def set_timeStamp(self, timeStamp):
self.timeStamp = timeStamp
Класс ошибок:
from Data import Data
from Errors import Errors
from Process import Process
from RootCause import RootCause
from typing import List
import json
class Error(object):
def __init__(self,data,errors : List[Errors]):
self.data= data
self.errors= errors
def get_data(self):
return self.data
def set_data(self, data):
self.data=data
def get_errors(self):
return self.errors
def set_errors(self, errors):
self.errors = errors
def test():
data = Data('a',2,'b')
process = Process('id','flow','subtype')
rootCause = RootCause('sys','co','message','timestamp')
errors = [process, rootCause]
error = Error(data,errors)
json_data = json.dumps(error, default=lambda o: o.__dict__)
print(json_data)
test()
После выполнения класса ошибок я получаю вывод, как показано ниже:
{
"data":
{
"fileName": "a",
"rowId": 2,
"rowData": "b"
},
"errors": [
{
"id": "id",
"flow": "flow",
"flowSubType": "subtype"
},
{
"system": "sys",
"code": "co",
"message": "message",
"timeStamp": "timesta"
}
]
}
Но мне нужна помощь в печати вывода, как показано ниже:
{
"data": {
"fileName": "a",
"rowId": 2,
"rowData": "b"
},
"errors": [
{
"Process": {
"id": "id",
"flow": "flow",
"flowSubType": "subtype"
},
"error": {
"system": "sys",
"code": "co",
"message": "message",
"timeStamp": "timestamp"
}
}
]
}
Может кто-нибудь, пожалуйста, помогите мне в этом вопросе.