[Swift通天遁地]7、數據與安全-(3)Cocopods的安裝和開源類庫對JSON的解析

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-fgypnarj-ma.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

本文將演示Cocopods的安裝和開源類庫對JSON的解析。git

首先打開terminal(終端),並在terminal輸入安裝語句:github

sudo gem install cocoa podsjson

按下【Enter】鍵。swift

Password:數組

在密碼提示符的右側,輸入當前帳戶的密碼。安全

插件安裝以後,能夠經過輸入關鍵詞,查找須要安裝的第三方類庫。微信

pod search AFNetworking

terminal(終端)列出了全部能夠安裝的相關類庫,只須要複製Pod語句便可。ide

如今來查看已經安裝的Pod的版本。

pod --version

若是須要執行某個Pod文件,

使用cd命令切換切換至配置文件所在的文件夾,

該文件夾下擁有一個已經設置好的Pod配置文件,

如今輸入安裝語句,安裝配置文件中的第三方類庫。

pod install --no-repo-update

安裝完成以後,最小化terminal(終端)。

首先確保在項目中已經安裝了所需的第三方庫。

點擊【Podfile】,查看安裝配置文件。

1 platform :ios, '12.0'
2 use_frameworks!
3 
4 target ‘DemoApp' do
5     pod 'SwiftyJSON'
6 end

根據配置文件中的相關配置,安裝第三方庫。

而後點擊打開【DemoApp.xcworkspace】項目文件。

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】

 1 import UIKit
 2 //引入已經安裝的第三方類庫
 3 import SwiftyJSON
 4 
 5 class ViewController: UIViewController {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         
11         //得到項目中待解析文檔的存儲路徑。
12         let path = Bundle.main.path(forResource: "menu", ofType: "json")
13         //加載指定路徑的文檔,並將結果保存在數據常量中。
14         if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path!))
15         {
16             //使用加載的數據,生成一個JSON對象。
17             let json = JSON(data: jsonData)
18             //經過對象的描述方法,在控制檯輸出該對象包含的內容。
19             print(json.description)
20             
21             //得到並輸出菜單鍵下的指定子鍵的值
22             print(json["menu"]["id"])
23             //得到並輸出菜單鍵下的指定子鍵的值
24             print(json["menu"]["value"])
25             //在菜單鍵的內部,包含一個由數組組成的子鍵序列,
26             //這裏得到並輸出數組中的第一個元素。
27             print(json["menu"]["menuitem"][0])
28             //輸出數組中的第一個元素的名稱子鍵的值。
29             print(json["menu"]["menuitem"][0]["name"])
30             //輸出數組中的第一個元素的點擊事件子鍵的值。
31             print(json["menu"]["menuitem"][0]["onclick"])
32             print("--------------------------------------")
33             
34             //得到子鍵序列,並存儲在一個數組中。
35             if let arr = json["menu"]["menuitem"].array
36             {
37                 //使用循環語句,對存儲在數組中的元素進行遍歷
38                 for subItem in arr
39                 {
40                     //依次輸出名稱和點擊事件兩個子鍵所對應的值。
41                     print(subItem["name"])
42                     print(subItem["onclick"])
43                 }
44             }
45             //輸出一個分隔線日誌。
46             print("--------------------------------------")
47             
48             //使用第三方類庫,快速建立自定義的JSON對象
49             var jsonInt: JSON =  [1,2,3]
50             //經過下標能夠快速更改元素的值。
51             jsonInt[0] = 100
52             jsonInt[5] = 200
53             //在控制檯輸出JSON對象的詳細信息
54             print("jsonInt:\(jsonInt)")
55             
56             //JSON對象能夠包含多種類型的鍵值對。
57             var jsonData: JSON =  ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]]
58             //經過下標能夠快速定位和修改某個元素。
59             jsonData["list"][3]["what"] = "that"
60             print("jsonData:\(jsonData)")
61         }
62     }
63 
64     override func didReceiveMemoryWarning() {
65         super.didReceiveMemoryWarning()
66         // Dispose of any resources that can be recreated.
67     }
68 }
相關文章
相關標籤/搜索