json字符串和字典的區別

json字符串和字典的區別:
json:
(JavaScript Object Notation)的首字母縮寫,字面的意思是(javascript對象表示法),這裏說的json指的是類似於javascript對象的一種數據格式對象,目前這種數據格式比較流行,逐漸替換掉了傳統的xml數據格式, 前端使用ajax的時候後臺返回該前端的數據格式就是json格式的。

字典是一種數據結構,而json是一種數據格式,
格式就會有一些形式上的限制,比如json的格式要求必須且只能使用雙引號作爲key或者值的邊界符號(值如果是數字可以不用加雙引號),不能使用單引號,用單引號或者不用引號會導致讀取數據錯誤,而且“key”必須使用邊界符(雙引號),但字典就無所謂了,可以使用單引號,也可以使用雙引號。

總結:
json的特點
1. 字符串外邊有單引號
2. json是類字典的形式,裏面的鍵-值對規定必須使用雙引號,值如果是數字可以不加雙引號,
但是鍵必須是雙引號引起來的字符串, json的值可以是普通變量,數組,json對象

缺點:
json只有null、布爾、數字、字符串、數組和對象這幾種數據類型,JSON沒有日期類型

####################################
users = {
    "admin": {
        'username': 'admin',
        "password": 123,
        "nickname": "老王"
    }
}
import json
以下兩個函數用於json數據類型的轉換
json.dumps()   字典 -> json
json.loads()   json ->  字典
以下兩個函數用於json數據類型轉換的同時操作文件
json.dump()
json.load()


# 1. 數據類型的轉換
# 其他類型轉換爲json字符串
json_str = json.dumps(users)
print(json_str, type(json_str))

# 讀取json字符串,還原爲原來的數據類型
json_obj = json.loads(json_str)
print(json_obj, type(json_obj))
#
# # 2. 類型轉換的同時操作文件
# json.dump(users, open("d2.txt", "w"))
#
# data = json.load(open("d2.txt"))
# print(data)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章