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

问题描述 投票:1回答:2

Swift是否提供了一种转换原始String的方法

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

到一个字符串数组([String])?

我已经找到了一种方法来完成StackOverflow,但是以这种特定的方式,我找不到答案:/

json swift parsing
2个回答
4
投票

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

let rawString = "[\"John\",\"Anna\",\"Tom\"]"
let jsonData = rawString.data(using: .utf8)!
let strings = try JSONDecoder().decode([String].self, from: jsonData)

0
投票

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

作为参考,这是一种经典的方法,与旧的Swift版本兼容:

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

根据Itai Ferber,JSONDecoder uses JSONSerialization under the hood,所以它应该与Code Different答案几乎相同。

© www.soinside.com 2019 - 2024. All rights reserved.