首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS Swift 解析 JSON 字串為 NSArray:NSJSONSerialization 用法

     編輯:程式設計綜合問答

資料結構

JSON 最外層為 **陣列**,內含單一物件,鍵 "Android" 對應陣列。

解析代碼

let jsonString = """
[{\"Android\":[{\"ID\":31,\"TN\":\"天天\",...},...]}]
"""

if let data = jsonString.data(using: .utf8) {
    do {
        // 頂層為 NSArray
        if let topArray = try JSONSerialization.jsonObject(with: data, options: []) as? [[String: Any]],
           let firstDict = topArray.first,
           let androidArray = firstDict["Android"] as? [[String: Any]] {
            // androidArray 即為目標 NSArray
            print("解析成功,共 \(androidArray.count) 筆")
            for item in androidArray {
                print("ID: \(item[\"ID\"] ?? \"\"), TN: \(item[\"TN\"] ?? \"\")")
            }
        }
    } catch {
        print("JSON 解析失敗: \(error)")
    }
}

關鍵點

  • JSONSerialization.jsonObject 回傳 Any,**需層層 as? 安全轉型**。
  • Swift 字典鍵為 String,值為 Any,對應 JSON 物件。
  • 若 JSON 含數值型別,Swift 會自動解析為 Int/Double/Bool,取用時再轉型。
  • 大量資料建議用 Codable 定義結構體自動映射,型別安全且效能更好。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved