解析JSON数据时遇到了一些问题。
有一个Web API,基本响应数据如下:
{
topic_name: "Kevin",
topic_type: 1,
extraData: {}
}
使用不同的topic_type
值,extraData
可能具有不同的数据结构,例如extraData
对象具有不同的键值。
在这种情况下,如何创建模型类并将JSON字符串解析为模型?
或者这个API设计合理吗?是否有更好的API设计来解决这些问题?
更新1:
使用相同的topic_type
,extraData
的结构始终相同。
我考虑过使用子类,但每个topic_type
需要一个子类。
更新2:
以下是JSON数据的一些示例,不同的topic_type
具有不同的extraData
。
当topic_type等于1时,
{
topic_name: "Kevin",
topic_type: 1,
extraData: {
data_type1: value,
data_type2: value2
}
}
当topic_type等于2时,
{
topic_name: "David",
topic_type: 2,
extraData: {
data_type3: value3
}
}
它不是真正的数据,我不处理'主题'问题,只是一个例子,关键是extraData
对象有不同的类型键。
答案 0 :(得分:0)
JSONModel可能正是您正在寻找的。解析json并为您提供模型
答案 1 :(得分:0)
尝试定义类中的所有类型:
{
topic_name: "Kevin",
topic_type: 1,
extraData: {
data_type1: value,
data_type2: value2,
data_type3: value3,
}
}
在Json解析之后,根据主题类型获取所需的数据类型。
聚苯乙烯。所有数据类型都需要可以为空