【问题标题】:JSON parsing in swift 2.2swift 2.2 中的 JSON 解析
【发布时间】:2016-07-17 09:20:12
【问题描述】:

寻找一种方法来解析这个 JSON 并将名字保存在一个数组中:

[
{"firstName":"John", "lastName":"Doe"}, 
{"firstName":"Anna", "lastName":"Smith"}, 
{"firstName":"Peter","lastName":"Jones"}
]    

我基本上是在寻找即使没有 SwiftyJSON 和类似东西也能工作的代码。

谢谢,

【问题讨论】:

标签: ios json swift macos swift2


【解决方案1】:

简单的解决方案:

let string = "[{\"firstName\":\"John\", \"lastName\":\"Doe\"},{\"firstName\":\"Anna\", \"lastName\":\"Smith\"}, {\"firstName\":\"Peter\",\"lastName\":\"Jones\"}]"

if let jsonData = string.dataUsingEncoding(NSUTF8StringEncoding) {
  do {
    let json = try NSJSONSerialization.JSONObjectWithData(jsonData, options: []) as! [[String:AnyObject]]
    let firstNameArray = json.map {$0["firstName"]!}
    print(firstNameArray)
  } catch let error as NSError {
    print(error)
  }
}

【讨论】:

  • 字符串中可以不使用反斜杠吗?
  • 反斜杠仅用于转义文字字符串中的双引号。在处理字符串时它们会被忽略。
  • 如果我想从文件中加载它怎么办?我不想编辑整个 JSON
  • 不用担心反斜杠。它们仅出现在文字字符串中,以区分内联双引号和开始/结束双引号。
【解决方案2】:

你应该看看 SwiftyJSON。 https://github.com/SwiftyJSON/SwiftyJSON

这是一种轻松解析 JSON 文件的简单方法。

使用 CocoaPods 很容易安装。如果您不了解 CocoaPods,我建议您将其全神贯注,因为它将是您在 swift 编程生涯中了解的非常强大的工具。

我希望我已经让你走上了正确的道路。

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • 好的,谢谢,我不知道,下次我回答时会这样做。 ?
  • @Dijkgraaf 这不是仅链接的答案。
  • @Rob 如果您要编辑掉绒毛,那么剩下的就是指向 github 的链接。
  • @Dijkgraaf 不,没有超链接的答案中仍有有用的信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 2020-11-19
相关资源
最近更新 更多