测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布时间最新版本发布时间 | 2017年2月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✓ |
由 Leung Horst 维护。
要运行示例项目,请克隆仓库,并在 Example 目录中首先运行 pod install
。
let dict = jsonStr.toDictionary()
let jsonString = dict.toJSONStr()
let foo = dict[keyPath: "first.second.abc 123"] //return an optional Any
let foo = dict[string: "first.second.abc 123"] //return an optional String
let foo = dict[dict: "first.second.abc 123"] //return an optional Dictionart
let foo = dict[array: "first.second.abc 123"] //return an optional Array
for foo in dict[arrayValue: "first.second.foos"] {
print(foo)
}
这里是一个字典
userGroup = ["users": [
[
"id" : "1",
"name" : "Apple",
"age" : 18
],
[
"id" : "2",
"name" : "Boy",
"age" : 19
],
[
"id" : "3",
"name" : "Cat",
"age" : 30
],
]
]
用户模型
struct User: JJMappable {
var id: String?
var name: String?
var age: Int
init(map: JJMapper) {
id = map[string: "id"]
name = map[string: "name"]
age = map[intValue: "age"]
}
}
用户组模型
struct UserGroup: JJMappable {
var users: [User]?
init(map: JJMapper) {
users = User.from(map[arrayValue: "users"])
}
}
let data = userGroup[arrayValue: "users"][1] as! [String: Any]
let user: User? = User.from(data)
let users: [Users]? = User.from(userGroup[arrayValue: "users"])
let _userGroup = UserGroup.from(userGroup)
Leung Horst
Ole Begemann [https://oleb.net/blog/2017/01/dictionary-key-paths/]
JustJson 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。