将值从python类对象附加到Python中的另一个类对象

时间:2018-08-07 06:41:08

标签: python json class append mapping

我需要有关python代码的帮助,以便将python类对象的值附加到另一个python对象(称为基础对象)。

这是问题陈述:

1:

我正在获取一个JSON文件作为输入。

{
  "Name": {
    "Owner": {
          "FirstName": "sample string 1",
          "LastName": "sample string 1",
             }
          }
}

2:

我使用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()))

3:

我手动创建了一个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。请让我知道这是否没有道理。感谢您的帮助!

0 个答案:

没有答案