Swift JSON字元串和字典以及數組的互轉

来源:https://www.cnblogs.com/jukaiit/archive/2018/07/21/9345654.html
-Advertisement-
Play Games

1、JSONString轉換為字典 2、JSONString轉換為數組 3、字典轉換為JSONString ...


1、JSONString轉換為字典

    // JSONString轉換為字典
 
    func getDictionaryFromJSONString(jsonString:String) ->NSDictionary{

        let jsonData:Data = jsonString.data(using: .utf8)!

        let dict = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers)
        if dict != nil {
            return dict as! NSDictionary
        }
        return NSDictionary()
        

    }

2、JSONString轉換為數組

 

func getArrayFromJSONString(jsonString:String) ->NSArray{
        
        let jsonData:Data = jsonString.data(using: .utf8)!
        
        let array = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers)
        if array != nil {
            return array as! NSArray
        }
        return array as! NSArray
        
    }

  

3、字典轉換為JSONString

/**
     字典轉換為JSONString
     
     - parameter dictionary: 字典參數
     
     - returns: JSONString
     */
    func getJSONStringFromDictionary(dictionary:NSDictionary) -> String {
        if (!JSONSerialization.isValidJSONObject(dictionary)) {
            print("無法解析出JSONString")
            return ""
        }
        let data : NSData! = try? JSONSerialization.data(withJSONObject: dictionary, options: []) as NSData!
        let JSONString = NSString(data:data as Data,encoding: String.Encoding.utf8.rawValue)
        return JSONString! as String

    }

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 學習SQL Server 2012編程入門經典(第4版)的筆記 1.事務日誌 任意資料庫的更改起初不進入資料庫本身,而是不斷地被寫入到事務日誌。 日誌是數據進入磁碟上的最先位置。 2.表 資料庫中實際的數據都存在表中。表有行有列。 2.1索引 索引是在特定表或視圖框架記憶體在的對象。索引的功能類似於目 ...
  • Preface I got an replication error 1236 when I modified the password of a user without starting slave threads of replication.Further more,the user was ...
  • 眾所周知資料庫連接的過程,但是最近面試的人(菜面菜),都說用的SSM框架,但是我問了一下,mybatis是怎麼連接上mysql的,基本上都會說:配置好的,直接用了,今天我來拋磚引玉一下,歡迎拍磚!願你有情人終成眷屬,願你有個有趣的靈魂,願你拍我一磚! ...
  • 我的hiveserver2一直不能啟動,命令行一直卡住不動,然後我就想是不是配置文件沒有配置相關的參數,然後就來修改hive-site.xml 最終修改完後的hive-site.xml: 配置成功後,hiveserver2就能啟動成功了。 ...
  • 轉自:http://www.maomao365.com/?p=6679 摘要: 下文將分享使用sql腳本輸出交替變換的不同背景顏色的sql腳本的方法分享,如下所示: 實驗環境:sqlserver 2008 R2 例: 下文 首先採用 over() row_number 函數生成的行編號, 然後對每行 ...
  • Ionic 需要Node.js 環境,官網下載:http://nodejs.org/,node 命令預設將安裝到 /usr/bin https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distri ...
  • Android設備列印比較麻煩,一般設備廠商都提供原生app開發的SDK,我們web開發者為難了,不會原生開發啊 給大家提供一個思路,實現web加殼,利用列印瀏覽器實現 簡單來說就是把我們的web頁面嵌入瀏覽器中 web頁面的列印功能通過js與瀏覽器互動 瀏覽器通過調用硬體SDK實現列印 1、機器安 ...
  • 揭秘黑客工具教程:微信密碼怎麼破解?如何破解別人的微信密碼? 微信的出現確實給人們的生活帶來了極大的便利,現在人們在生活中不僅使用微信社交,還會在閑來無事時視頻,發一下紅包或者是轉賬。據不完全統計,目前微信在全國共有十億人次在使用,大家在使用的過程中均對其強大的功能予以稱贊。隨著微信功能日益強大,微 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...