代码之家  ›  专栏  ›  技术社区  ›  Augusto Carmo

将JSON中的字符串(字符串数组)解析为Swift中的字符串数组

  •  1
  • Augusto Carmo  · 技术社区  · 6 年前

    未经加工的 像这样的线

    "[\"John\",\"Anna\",\"Tom\"]"
    

    字符串数组( [String] )?

    我在StackOverflow上寻找了一种方法,但是以这种特定的方式,我找不到答案:/

    2 回复  |  直到 6 年前
        1
  •  4
  •   Code Different    6 年前

    在Swift 4及更高版本上,使用 JSONDecoder :

    let rawString = "[\"John\",\"Anna\",\"Tom\"]"
    let jsonData = rawString.data(using: .utf8)!
    let strings = try JSONDecoder().decode([String].self, from: jsonData)
    
        2
  •  0
  •   Cœur N0mi    6 年前

    Code Different answer 可能是现在推荐的一种方式(Swift 4+)。

    let rawString = "[\"John\",\"Anna\",\"Tom\"]"
    let jsonData = rawString.data(using: .utf8)!
    let strings = (try? JSONSerialization.jsonObject(with: jsonData, options: [])) as? [String] ?? []
    

    据伊泰·弗伯说, JSONDecoder uses JSONSerialization under the hood