SwiftyJSON
https://github.com/SwiftyJSON/SwiftyJSON
JSON 的測試資料來源:
https://data.gov.tw/dataset/26652
資料內容:
{ "success":true, "result":{ "resource_id":"382000000A-000224-002", "limit":2000, "total":5, "fields":[ { "type":"text","id":"title"}, { "type":"text","id":"address"}, { "type":"text","id":"tel"} ], "records":[ {"title":"財團法人天主教福利會附設新北市私立約納家園","address":"22243新北市深坑區北深路二段155號","tel":"(02)2662-5184"}, {"title":"財團法人家扶基金會附設新北市私立大同育幼院","address":"23559新北市中和區圓通路121巷2號","tel":"(02)2247-2455"},{"title":"財團法人基督教芥菜種會附設新北市私立愛心育幼院","address":"24255新北市新莊區中正路382號","tel":"(02)2992-7503"}, {"title":"財團法人淨化社會文教基金會附設新北市私立普賢慈海家園","address":"23658新北市土城區學府路一段23巷21號","tel":"(02)8261-1331"}, {"title":"財團法人新北市私立榮光育幼院","address":"23441新北市永和區竹林路75巷11號","tel":"(02)8927-6225"} ] } }
// 以上先 json資料存為 jsondata.json //讀取檔案中的 json 資料 let url = Bundle.main.url(forResource: "jsondata", withExtension: "json") let data = try? Data(contentsOf: url!) let sjson = JSON(data: data!) if let ss = sjson["success"].bool { print(ss) // true } // .stringValue 取值 叫做 non-optional getter print(sjson["success"].stringValue) // true if let results = sjson["result"]["records"].array { for data in results { print(data["title"]) } } //結果: 財團法人天主教福利會附設新北市私立約納家園 財團法人家扶基金會附設新北市私立大同育幼院 財團法人基督教芥菜種會附設新北市私立愛心育幼院 財團法人淨化社會文教基金會附設新北市私立普賢慈海家園 財團法人新北市私立榮光育幼院 print( sjson["result"]["fields"].rawString()! ) //結果 [ { "type" : "text", "id" : "title" }, { "type" : "text", "id" : "address" }, { "type" : "text", "id" : "tel" } ]