json文件格式


最近學校做項目,項目需求中要求我們按照json文件的內容對流量進行處理,這篇文章簡單記錄一下json的結構和內容。

1.什么是json?

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。 易於人閱讀和編寫。同時也易於機器解析和生成。 它基於JavaScript Programming LanguageStandard ECMA-262 3rd Edition - December 1999的一個子集。 JSON采用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數據交換語言。

總結一下就是:

1. JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)

2. JSON 是輕量級的文本數據交換格式

3. JSON 獨立於語言

4. JSON 具有自我描述性,更易理解

5. JSON 使用 JavaScript 語法來描述數據對象,但是 JSON 仍然獨立於語言和平台。JSON 解析器和 JSON 庫支持許多不同的編程語言。

 

2.json的基本數據類型

  • 數值:十進制數,不能有前導0,可以為負數,可以有小數部分。還可以用e或者E表示指數部分。不能包含非數,如NaN。不區分整數與浮點數。JavaScript用雙精度浮點數表示所有數值。
  • 字符串:以雙引號" "括起來的零個或多個Unicode碼位。支持反斜杠開始的轉義字符序列
  • 布爾值:表示為true或者false
  • 數組(array):有序的零個或者多個值。每個值可以為任意類型。序列表使用方括號[]括起來。元素之間用逗號,分割。形如:[value, value]
  • 對象(object):一個無序的“鍵-值對”(pair),其中鍵是字符串。建議但不強制要求對象中的鍵是獨一無二的。對象以花括號{開始,並以}結束。鍵-值對之間使用逗號分隔。鍵與值之間用冒號:分割。
  • null類型:值寫為null

json文件格式很簡單,我覺得json格式和PHP、java序列化結果有點類似,比如key和value中間都用 ":" 連接,當然json比較簡單,並沒有序列化那么復雜,格式只有兩種:

1.鍵值對

對象是一個無序的鍵值對集合,一個對象以 "{" 開始, "}" 結束。每一個名稱(key)后跟一個 ":" ;  鍵值對之間使用 "," 分隔。

2.數組

數組是值(value)的有序集合。一個數組以 "[" 開始, "]" 結束。值之間使用 "," 分隔。

示例:

{
    "TEST":[{
        "pkg_no":0,
        "offset":0,
        "content":"a0a8",
        "protocol":"udp"
    },
    {
        "pkg_no":1,
        "offset":2,
        "content":"be2c1f"
    }]
}

3.json數據讀取和寫入

使用python就可以很方便的讀取json文件的數據和將數據寫入json文件中。

# 寫入 JSON 數據
with open('data.json', 'w') as f:
    json.dump(data, f)
 
# 讀取數據
with open('data.json', 'r') as f:
    data = json.load(f)

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM