【问题标题】:How to convert String to NSArray in swift3如何在swift3中将String转换为NSArray
【发布时间】:2019-03-28 10:48:48
【问题描述】:

下面一行是我的String

"(\n {\n ID = 338;\n Name = "Driver ";\n },\n {\n ID = 339;\n Name = "Officer ";\n }\n)"

我需要以下类型的NSArray 数据

[
 {
    "ID": 338,
    "Name": "Driver"
 },
 {
    "ID": 339,
    "Name": "Officer"
 }
]

以下是我到目前为止所做的代码

func fillupDataIntoArray(_ result: NSArray,IsFrom:String) {

    let resultArray : NSArray = result as NSArray;

     if IsFrom == "tbl_AttendanceLocation" {
     let dic = NSMutableArray()
     for i:Int in 0 ..< resultArray.count {
     let tempDict = resultArray[i] as! NSDictionary

        dic.add(tempDict as NSDictionary)
     }
        taskList_Array = []
        taskList_Array = dic.mutableCopy() as! NSMutableArray
     }
}

请帮帮我!

【问题讨论】:

  • 为什么你有一个字符串,它是一个数组的描述?你是怎么得到它的?
  • 你没有。在将其转换为字符串之前,您可以正确管理您拥有的数组。永远不要使用对象的描述来取回它。所以请显示一些代码。
  • @manoharaddanki 不要在 Swift 中使用 NS(Mutable)... 集合类型。
  • @manoharaddanki Larme 已经告诉你该怎么做。您不解析字符串,而是正确处理响应。这里有数百个例子。
  • Larme 已经告诉过你,你不应该处理字符串,而应该处理原始数据。这样的字符串仅用于人类可读和调试。您需要解析的是原始数据,而不是您从中生成的字符串。

标签: ios json swift3


【解决方案1】:

试试这个方法:

struct Product: Codable {
    var ID: String
    var Name: String
}

let json = """
{
    "ID": "iuweguewbgw",
    "Name": "Sara",
}
""".data(using: .utf8)!

let decoder = JSONDecoder()
let product = try decoder.decode(GroceryProduct.self, from: json)

你也可以试试正则表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-03
    • 2016-07-05
    • 2011-06-01
    • 2010-12-18
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多