JustJson 0.1.4

JustJson 0.1.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布时间最新版本发布时间2017年2月
SwiftSwift 版本3.0
SPM支持 SPM

Leung Horst 维护。



JustJson 0.1.4

  • 项目所有者

JustJson

示例

要运行示例项目,请克隆仓库,并在 Example 目录中首先运行 pod install

需求

示例

从 JSON 字符串转换为字典

let dict = jsonStr.toDictionary()

将 [String: Any] 字典转换为 JSON 字符串

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 文件。