手機編輯json文件的軟件介紹「json格式文件怎麼打開編輯」

工作過程中,經常需要使用json這種輕量級的數據交換格式,例如,通過它可以組織數據保存到配置文件,客戶端和服務端通過json格式來進行通信等,但是,針對特定的需求場景,需要設計怎樣的json格式比較合適呢,json到底可以支持多少種格式呢,有沒有一種簡單的概括,就能讓使用者輕鬆使用它呢!

一般知識都有基本的理論結構,所以,本文首先將說明json的基本知識點,然後基於開源軟件jsoncpp來說明如何構建/讀寫json, 再分享個人的使用心得,最後再總結json的關鍵要點,理解了這一點,玩轉json不是問題。

一、Json簡介

Json是輕量級的數據交換格式,它便於閱讀和編寫,它是完全獨立於程序語言的文本格式。

二、Json結構

Json有兩個結構, 分別是「名稱/值」對的集合和值的有序列表。「名稱/值」對的集合可以簡單理解為對象集合,而值的有序列表可以理解為數組。

json其實不難,只需了解一點,就能輕鬆玩轉它

這裡舉一個「名稱/值」對的集合的例子,它是以左大括號開始,以右大括號結束,中間是由多個「名稱/值」對組成,各個「名稱/值」對之間用逗號隔開。

json其實不難,只需了解一點,就能輕鬆玩轉它

舉一個「值的有序列表」的例子,它是以左中括號開始,以右中括號結束,中間是由多個值組成,各個值之間用逗號隔開。

json其實不難,只需了解一點,就能輕鬆玩轉它

三、Json形式

Json主要由三種形式,分別為對象(object), 數組(array), 值(value)。

對象(object)是「名稱/值」對集合,名稱與值之間通過冒號隔開,另外對象是以左大括號開始,以右大括號結束。

json其實不難,只需了解一點,就能輕鬆玩轉它

數組(array)是值的有序集合,它是以左中括號開始,以右中括號結束。

json其實不難,只需了解一點,就能輕鬆玩轉它

值(value)可以是字符串(string)、數值(number)、對象(object)、數組(array)、true、false、null。這裡我們會發現對象(object)裏面有值(value), 數組(array)裏面也有值(value), 而值(value)又包含有對象和數組,所以它們是可以嵌套的。

json其實不難,只需了解一點,就能輕鬆玩轉它

Json就是由上面簡單的元素來組建複雜的信息元素。

四、Json例子

jsoncpp是C++語言編寫的開源json庫,通過該庫,我們可以很容易的構建、讀寫json。接下來就基於jsoncpp來實現幾個構建、讀取json的例子。通過例子可以對json有更深的理解。jsoncpp最基本的對象就是Json::Value。

構建一個最簡單的對象,然後輸出整個json信息,最後讀取json值,先調用isMember判斷名稱是否為root成員,如果是的話,那麼就讀取輸出。

json其實不難,只需了解一點,就能輕鬆玩轉它

輸出的日誌信息如下所示,大括號包含了一個「名稱/值」對。

json其實不難,只需了解一點,就能輕鬆玩轉它

構建嵌套對象,第一個「名稱/值」對中的「值」又是一個對象。

json其實不難,只需了解一點,就能輕鬆玩轉它

輸出的日誌信息如下所示

json其實不難,只需了解一點,就能輕鬆玩轉它

構建三層嵌套對象,第一個「名稱/值」對中的「值」是一個對象,而該對象的「值」又是一個對象。依次類推,可以構建更多層的嵌套對象。

json其實不難,只需了解一點,就能輕鬆玩轉它

輸出的日誌信息如下所示

json其實不難,只需了解一點,就能輕鬆玩轉它

構建簡單的數組,jsoncpp中構建數組是通過append的接口來創建的。讀取數組之前,先調用isArray來判斷對象是否為數組,如果是的話,再讀取輸出。這裡需要注意數組的個數。從防禦式編程的角度看,讀取數組值之前,需要判斷數組索引是否在有效範圍內。

json其實不難,只需了解一點,就能輕鬆玩轉它

輸出的日誌信息如下所示,從這裡我們也可以確定數組是可以單獨作為獨立json串出現的。之前一直都有一個誤區,就是認為json一定要用大括號包括起來。

json其實不難,只需了解一點,就能輕鬆玩轉它

構建對象和數組組成的json。首先創建一個數組,然後將其作為對象的值

json其實不難,只需了解一點,就能輕鬆玩轉它

輸出的日誌信息如下所示

json其實不難,只需了解一點,就能輕鬆玩轉它

最後再構建稍微複雜一點的json串,它是由對象、數組、對象來組成的,即對象的值是一個數組,而數組內部的值是由對象組成。

json其實不難,只需了解一點,就能輕鬆玩轉它

輸出的日誌信息如下所示

json其實不難,只需了解一點,就能輕鬆玩轉它

五、使用心得

  1. 讀取json值之前,先判斷其有效性,可以結合斷言機制,調用isMember或者isArray來進行判斷。
  2. 使用數組的時候,需要特別注意數組下標。

六、總結

json主要是由對象或數組創建而成,而它們的嵌套使用就可以創建複雜的json串,根據特定場景的需求來創建適用的json格式。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/268743.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-16 13:11
下一篇 2024-12-16 13:11

相關推薦

發表回復

登錄後才能評論