python-定义给定输入json的类结构
我有一个json,根据字段“source”的值,它有两种不同类型的子结构。示例json如下所示:python-定义给定输入json的类结构,python,json,class,parsing,object,Python,Json,Class,Parsing,Object,我有一个json,根据字段“source”的值,它有两种不同类型的子结构。示例json如下所示: { "abc": "abc1", "value": [ { "source": "s1", "value": [ { "name": "n1", "value": [ { "value": "v1" },
{
"abc": "abc1",
"value": [
{
"source": "s1",
"value": [
{
"name": "n1",
"value": [
{
"value": "v1"
},
{
"value": "v2"
}
]
}
]
},
{
"source": "s2",
"value": [
{
"h1": "...",
"h2": [
{
"h3": "..."
},
{
"h3": "..."
}
]
}
]
}
]
}
我已经编写了部分/不完整的代码来用jsonstruct解析它:
import json
import jsonstruct
def parse_json_obj(json_obj):
json_str = json.dumps(json_obj)
return jsonstruct.decode(json_str, ABCData)
class Entry(object):
name = ""
value = ""
class NameData(object):
name = ""
value = [Entry()]
class SourceData(object):
source = ""
value = [NameData()]
class ABCData(object):
abc = ""
value = [SourceData()]
a = parse_json_obj(<json_data_above>)
print a.value[0].source # prints s1
print a.value[0].value[0].value[0].value # prints v1
导入json
导入jsonstruct
def parse_json_obj(json_obj):
json_str=json.dumps(json_obj)
返回jsonstruct.decode(json\u str,ABCData)
类条目(对象):
name=“”
value=“”
类名称数据(对象):
name=“”
值=[Entry()]
类SourceData(对象):
source=“”
值=[NameData()]
类ABCData(对象):
abc=“”
值=[SourceData()]
a=解析_json_obj()
打印a.value[0]。源#打印s1
打印a.value[0]。值[0]。值[0]。值#打印v1
现在,我专注于如何扩展它以合并另一个源类型(s2)子结构。任何方向的帮助都会非常有用。谢谢 使用jsonstruct有什么特别的原因吗?这似乎是一个不太完整的项目,是@csunday95的一个分支。。没有特别的原因,我发现这是第一件事。那么如何在jsonpickle中实现呢?使用jsonstruct有什么特别的原因吗?这似乎是一个不太完整的项目,是@csunday95的一个分支。。没有特别的原因,我发现这是第一件事。那么如何在jsonpickle中实现呢?