TestsTested | ✓ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Feb 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✓ |
Maintained by Horst Leung.
To run the example project, clone the repo, and run pod install
from the Example directory first.
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)
}
Here comes a Dictionary:
userGroup = ["users": [
[
"id" : "1",
"name" : "Apple",
"age" : 18
],
[
"id" : "2",
"name" : "Boy",
"age" : 19
],
[
"id" : "3",
"name" : "Cat",
"age" : 30
],
]
]
A User model:
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"]
}
}
A UserGroup model:
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)
Horst Leung
Ole Begemann [https://oleb.net/blog/2017/01/dictionary-key-paths/]
JustJson is available under the MIT license. See the LICENSE file for more info.