灵感来自Android,因为本人以前因为竞赛的原因学过Android,然后使用网络请求来获取数据时,经常会遇到那种对象里面包数组然后再包对象...。当时也是因为这个自己专研老半天哈哈哈。
首先来看个接口数据
可以看到上面的接口返回过来的数据结构也是非常的复杂,又是包对象又是包集合然后又包,很多人一看到这个数据结构就有点头皮发麻,包括我自己在内也是哈哈哈。
首先不要被它混杂的数据结构给整晕了,一层一层的去解刨。
接下来先看我怎么去解刨的,然后再分析。
以下就是我写的,不要看有这么多类就觉得很难,其实很简单。一个对象就是一个类,然后一个数组就是一个集合,然后集合里面的泛型就是对应的数据类型,有些集合类型是字符串也有的是多个对象,那么又需要定义类然后丢给泛型做数据类型。
像这种对象里面又包数组或者包啥啥啥的,那在我们写结构的时候,也是一样的写法,类里面套着类,或者套着集合。
import List from '@ohos.util.List'
export class InfoModel{
msg: string
cars: List<Cars>
code: number
permissions: List<string>
roles: List<string>
user: User
}
class Cars{
createBy: string
createTime: string
updateBy: any
car: Car
}
class Car{
createBy: string
createTime: string
updateBy: any
}
class User{
createBy: string
createTime: string
updateBy: string
params: Params
roles: List<Roles>
}
class Params{
'@type': string
}
class Roles{
createBy: any
createTime: any
updateBy: any
params: Params
permissions: List<string>
}
因为有些对象里面的属性太多了我在定义的时候每个类也只定义了三个简单数据类型。
当然这是我目前想到的最简单的实现方法,有更便捷的也可以跟我交流哈哈哈,谢谢各位。
在控制台也是可以看到打印的内容,也是可以正常的拿到数据。