我需要有关python代码的帮助,以便将python类对象的值附加到另一个python对象(称为基础对象)。
这是问题陈述:
我正在获取一个JSON文件作为输入。
{
"Name": {
"Owner": {
"FirstName": "sample string 1",
"LastName": "sample string 1",
}
}
}
我使用python代码将其转换为python类对象。
# Read JSON File
with open('../JSONFile.json') as data_file:
data = json.dumps(data_file.read())
# Functions to load and convert to string
def _json_object_hook(d):
return namedtuple('X', d.keys())(*d.values())
def json2obj(data):
return json.loads(data, object_hook=_json_object_hook)
# Convert JSON to string format
json_str = str(json2obj(data))
# Create a Python Object of the JSON file
json_obj = json.loads(json_str, object_hook=lambda d: namedtuple('json_obj', d.keys())(*d.values()))
我手动创建了一个python类对象。这个想法是,如果输入JSON文件中缺少任何属性,则最终输出python类对象应该具有所有属性,如果JSON文件中缺少该属性,则它们的值将丢失。
class Name(object):
def __init__(self):
self.Name = Owner()
def getatt(self):
return self
class Owner(object):
def __init__(self):
self.Title = ""
self.FirstName = ""
self.LastName = ""
我需要帮助将JSON对象(json_obj)映射/附加到“名称”类对象。由于JSON对象中缺少“标题”,因此它在最终的“名称”类对象中应该可用,并且值为NULL。请让我知道这是否没有道理。感谢您的帮助!