如何解析 iOS Swift 中的字符串化数组
How to parse a stringified array in iOS Swift
如何解析Swift中的“[\"Bob\", \"Tim\", \"Tina\"]”等字符串化数组?它应该 return 一个 JSON 数组,例如 ["Bob"、"Tim"、"Tina"].
抱歉,如果这是一个重复的问题,但我无法找到数组元素结构未知的通用字符串化数组的任何答案。
尝试这样做,每次都对我有用:
let jsonText = "[\"Bob\", \"Tim\", \"Tina\"]"
var array: [String]?
if let data = jsonText.data(using: String.Encoding.utf8) {
do {
array = try JSONSerialization.jsonObject(with: data, options: []) as? [String]
if let myArray = array {
print(myArray)
}
} catch let error as NSError {
print(error)
}
}
它打印:["Bob", "Tim", "Tina"]
希望对你有帮助!!
extension String
{
func decodeUrl() -> String
{
return self.removingPercentEncoding!
}
}
extension Data
{
func dataToJSON() -> Any? {
do {
return try JSONSerialization.jsonObject(with: self, options: [])
} catch let myJSONError {
print(myJSONError)
}
return nil
}
}
用法:
if let data = your_stringified_array.decodeUrl().data(using: String.Encoding.utf8) {
if let jsonc = data.dataToJSON() {
print(jsonc)
}
}
结果在 AnyObject
.
如何解析Swift中的“[\"Bob\", \"Tim\", \"Tina\"]”等字符串化数组?它应该 return 一个 JSON 数组,例如 ["Bob"、"Tim"、"Tina"].
抱歉,如果这是一个重复的问题,但我无法找到数组元素结构未知的通用字符串化数组的任何答案。
尝试这样做,每次都对我有用:
let jsonText = "[\"Bob\", \"Tim\", \"Tina\"]"
var array: [String]?
if let data = jsonText.data(using: String.Encoding.utf8) {
do {
array = try JSONSerialization.jsonObject(with: data, options: []) as? [String]
if let myArray = array {
print(myArray)
}
} catch let error as NSError {
print(error)
}
}
它打印:["Bob", "Tim", "Tina"]
希望对你有帮助!!
extension String
{
func decodeUrl() -> String
{
return self.removingPercentEncoding!
}
}
extension Data
{
func dataToJSON() -> Any? {
do {
return try JSONSerialization.jsonObject(with: self, options: [])
} catch let myJSONError {
print(myJSONError)
}
return nil
}
}
用法:
if let data = your_stringified_array.decodeUrl().data(using: String.Encoding.utf8) {
if let jsonc = data.dataToJSON() {
print(jsonc)
}
}
结果在 AnyObject
.