Qt中的Jason解析詳解
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。它比XML還小巧。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript等)。這些特性使JSON成為理想的資料交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提升網路傳輸速率)。
關於Qt中對JSON的生成與解析,Qt5以前的版本,需要去進行單獨下載、編譯,才能使用。到了Qt5,提供了專門的QJsonDocument類來讀取和寫入JSON文件。
其基本資料型別有:
數字(整數或浮點數)
字串(在雙引號中)
邏輯值(true 或 false)
陣列(在方括號[]中)
物件(在花括號{}中)
null
待補充
Qt中常用到的JSON類有以下這些:
QJsonDocument既可以從一個基於文字表示的UTF-8編碼,又可以從Qt自己的二進位制格式讀取和寫入這個檔案。
JSON文件可以從它的基於文字的表示使用QJsonDocument::fromJson()轉換為QJsonDocument,用.toJSON()將其轉換回文字。解析器非常快速和高效,將JSON轉換為二進位制表示。
QJsonObjectQJsonObject類用於封裝JSON物件。
JSON物件是鍵值對,其中鍵是唯一的字串,其值由QJsonValue代表。一個QJsonObject可以從QVariantMap轉換/被轉換。
QJsonArray
QJsonArray類用於封裝JSON陣列。一個JSON陣列列表值。該列表可以通過從陣列插入和移除QJsonValue的操縱。一個QJsonArray可以從QVariantList轉換為/被轉換。
QJsonDocument有效解析後的文件可以使用!iSNull()判斷。使用isArray()和isObject()來判斷是否包含一個數組或物件。文件中包含的陣列或物件可以使用array()或object()進行檢索,然後讀取或操縱。
相關推薦
Qt中的Jason解析詳解
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。它比XML還小巧。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript等)。這些特性使JSON成為理想
QT中的qmake詳解
1.首先,感性的認識是,qmake可以利用原始檔(包括標頭檔案h,實現檔案cpp,qt的ui檔案等等)生成各種不同型別的工程,工程需要的Makefile檔案,可執行的與不可執行的,這取決於所用的模板(包括app、lib、subdirs、vcapp、vclib)。 2.建立pro檔案,新增各種原始檔,還可
Android中Ringtone播放詳解【安卓原始碼解析五】
現在咱們來聊聊android系統中鈴聲的播放,從framework層面說說Ringtone的播放原理,我在android原始碼中碰到了播放系統鈴聲中的問題,所以仔細研究了這方面的知識,現在整理一下,給讀者一些幫助,現在我對鈴聲的播放和設定特別親切,不管是簡
C/C++中extern關鍵字詳解
編譯器 fin 生成 接口 bcd 只需要 c++環境 結束 編程 轉自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 1 基本解釋:extern可以置於變量或者函數前,以標示變量或者
js中的attribute詳解
介紹 特點 奇怪 使用方式 get inner () input 關於 Attribute是屬性的意思,文章僅對部分兼容IE和FF的Attribute相關的介紹。 attributes:獲取一個屬性作為對象 getAttribute:獲取某一個屬性的值setAttribu
【JavaScript中的this詳解】
定律 htm uid js代碼 tdd ati tom dmr doctype 前言 this用法說難不難,有時候函數調用時,往往會搞不清楚this指向誰?那麽,關於this的用法,你知道多少呢? 下面我來給大家整理一下關於this的詳細分析,希望對大家有所幫助!
hibernate中inverse屬性詳解
values 性能 update 關聯 維護 value str true 詳解 術語”inverse”直譯為”反轉”。在Hibernate中,inverse屬性指定了關聯關系中的方向。關聯關系中,inverse=“false”的為主動方,由主動方維護關聯關系。在一對多關聯
hibernate中 cascade屬性詳解
-m hibernate 發現 執行效率 pda 不一定 () 程序執行效率 刪除 配置關聯時,我們考慮兩點:程序執行效率和實際業務需要,前面的例子中無論是單向的關聯還是雙向的關聯,我們都要分別對實體類使用session.save()才能將數據保存至數據庫。問題:如果
JS中的showModelDialog詳解和實例
cti 信息 創建 字符 非模態窗口 tle cin dialog ima 1.<a href="#" onclick="SeePic(‘${list.PATH}‘)"><font color="blue">預覽</font></a
Eclipse中的BuildPath詳解【轉載】
sdn libraries 依賴 源代碼 title 打開 低版本 代碼 功能 什麽是Build Path? Build Path是指定Java工程所包含的資源屬性集合。 在一個成熟的Java工程中,不僅僅有自己編寫的源代碼,還需要引用系統運行庫(JRE)、第三方的功能擴展
C/C++中作用域詳解(轉)
防止 局部作用域 gist 文件中 方式 為什麽不使用 形式參數 lan archive 作用域規則告訴我們一個變量的有效範圍,它在哪兒創建,在哪兒銷毀(也就是說超出了作用域)。變量的有效作用域從它的定義點開始,到和定義變量之前最鄰近的開括號配對的第一個閉括號。也就是說,作
JavaScript中getBoundingClientRect()方法詳解
script otto java chrome 頁面 支持 urn client fire getBoundingClientRect() 這個方法返回一個矩形對象,包含四個屬性:left、top、right和bottom。分別表示元素各邊與頁面上邊和左邊的距離。
WebService中的WSDL詳解 及jmeter測試
images 包括 3.2 接口測試工具 types 通知 操作 sdl message 首先簡單講解一下什麽是wsdl. 一個WSDL文檔通常包含8個重要的元素,即definitions、types、import、message、portType、ope
CSS3中REM使用詳解
前端學習 參考 瀏覽器 為什麽 pla 同時 寫法 子元素 comment 在頁面中設置字體,我們知道有常見的兩種,px 和 em. px 在Web頁面制作中,我們一般使用“px”來設置我們的文本,因為他比較穩定和精確。但是這種方法存在一個問題,當用戶在瀏覽器中瀏覽我們制作
H264碼流中SPS PPS詳解<轉>
擴展 vlc 地址 逗號 部分 級別 軟件 第一個 bottom 轉載地址:https://zhuanlan.zhihu.com/p/27896239 1 SPS和PPS從何處而來? 2 SPS和PPS中的每個參數起什麽作用? 3 如何解析SDP中
JS中document.cookie詳解
一個 參數 position 函數實現 some document urn 重新 地址 什麽是cookie? cookie 是存儲於訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某個頁面時,就會發送這個 cookie。你可以使用 JavaScript 來創建和取回
linux中expect命令詳解
linux運維expect介紹expect 是由Don Libes基於Tcl(Tool Command Language )語言開發的,主要應用於自動化交互式操作的場景,借助Expect處理交互的命令,可以將交互過程如:ssh登錄,ftp登錄等寫在一個腳本上,使之自動化完成。尤其適用於需要對多臺服務器執行相同
Java中反射機制詳解
turn face instance java struct () 分享 2.6 一個 序言 在學習java基礎時,由於學的不紮實,講的實用性不強,就覺得沒用,很多重要的知識就那樣一筆帶過了,像這個馬上要講的反射機制一樣,當時學的時候就忽略了,到後來學習
批處理中的IF詳解
效果 我不 width set 符號 等於 ron 例子 ima 在CMD使用IF /?打開IF的系統幫助會發現IF有3種基本的用法! 第一種用法:IF [NOT] ERRORLEVEL number command 這種用法現在很少用了,因為它需要使用到CHOICE命令,
函數中{}輸出格式詳解(C#)
with content c-s sort 命名方式 發現 1-1 原始的 des Console.WriteLine()函數中{}輸出格式詳解(C#) Console.WriteLine()函數的格式一直沒怎麽註意。今天同事問起Console.WriteLine({0