向json数据结构添加自定义对象是不好的做法吗?

时间:2017-07-14 00:20:53

标签: json swift

如果我有一个看起来像这样的JSON:

{
    events: {
        event1: {
            uid: "user1"
        }
    }
    users: {
        user1: {
            name: "foo"
        }
    }
}

我将在这里使用Swift来为代码中的JSON建模。用户结构如下所示:

struct User {
    let name: String
}

如果我以与结构中相同的方式对事件建模,它看起来像:

struct Event {
    let uid: String
}

最后,我想要访问有关其ID(uid)出现在事件中的用户的信息。将User对象直接保存在Event中是否合适?即:

struct Event {
    let uid: String
    let user: User
}

我可以使用uid来了解加载User对象的位置,并从Event的初始化中获取有关用户的信息。程序中的结构是否可以包含与原始JSON不同的属性?如果没有,在这种情况下何时应加载User对象?感谢。

1 个答案:

答案 0 :(得分:0)

swift中的JSON可以解析为字典或数组,取决于它的布局。对于结构体,它们只是用于保存JSON数据的东西。如果您觉得属性名称与JSON键不同,那很好。按钮行是您必须解析JSON并创建从字典或数组中检索的值的结构基础。结构中的属性名称在此过程中无关紧要。