ios - 在 Swift 中将 JSON 字符串转换为 Object 的简单而干净的方法

我一直在寻找几天来将一个相当简单的 JSON 字符串转换为 Swift 中的对象类型,但无济于事。

这里是网络服务调用的代码:

func GetAllBusiness() {

        Alamofire.request(.GET, "http://MyWebService/").responseString { (request, response, string, error) in

                println(string)

        }
}

我有一个 swift 结构 Business.swift:

struct Business {
    var Id : Int = 0
    var Name = ""
    var Latitude = ""
    var Longitude = ""
    var Address = ""
}

这是我部署的测试服务:

[
  {
    "Id": 1,
    "Name": "A",
    "Latitude": "-35.243256",
    "Longitude": "149.110701",
    "Address": null
  },
  {
    "Id": 2,
    "Name": "B",
    "Latitude": "-35.240592",
    "Longitude": "149.104843",
    "Address": null
  }
  ...
]

如果有人指导我完成这将是一种乐趣。

谢谢。

最佳答案

为 Swift 3/4

extension String {
    func toJSON() -> Any? {
        guard let data = self.data(using: .utf8, allowLossyConversion: false) else { return nil }
        return try? JSONSerialization.jsonObject(with: data, options: .mutableContainers)
    }
}

示例用法:

 let dict = myString.toJSON() as? [String:AnyObject] // can be any type here

https://stackoverflow.com/questions/25621120/

相关文章:

java - 在 Spring 中配置 ObjectMapper

java - jackson + build 者模式?

javascript - 在没有 jQuery 的情况下在 node.js 上合并或合并 JSON

json - REST API 最佳实践 : args in query string vs in

javascript - 排序对象属性和 JSON.stringify

python - 如何以不同的顺序比较具有相同元素的两个 JSON 对象相等?

json - 任何用于在 Classic ASP 中解析 JSON 的好库?

java - 错误 415 不支持的媒体类型 : POST not reaching REST if

c# - JavaScriptSerializer.Deserialize - 如何更改字段名称

json - 从 JQuery.ajax 成功数据中解析 JSON