<center id="qkqgy"><optgroup id="qkqgy"></optgroup></center>
  • <menu id="qkqgy"></menu>
    <nav id="qkqgy"></nav>
    <xmp id="qkqgy"><nav id="qkqgy"></nav>
  • <xmp id="qkqgy"><menu id="qkqgy"></menu>
    <menu id="qkqgy"><menu id="qkqgy"></menu></menu>
    <tt id="qkqgy"><tt id="qkqgy"></tt></tt>

  • 一 JSON數據格式介紹?

    JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。

    JSON建構于兩種結構
    :json是Javascript中的對象和數組中的對象,本質上來講就是有特定結構的字符串,所以可以通過這兩種結構可以表示各種復雜的結構:?

    1 對象: 對象在js中表示為”{}”括起來的內容,數據結構為{key:value,
    key:value…}的鍵值對結構,在面向對象的語言中,key為對象的屬性,value為對應屬性的值,所以很容易去理解。屬性值value可以為:數字、字符串、數組、對象等。?
    2 數組:數組在js中是中括號“[]”括起來的內容,數據結構為[“java”, “javascript”, “vb”….]
    取值方式和所有語言一樣,使用索引獲取,字段值的類型是:數字、字符串、數組、對象等?

    簡單地說,JSON 可以將 JavaScript
    對象中表示的一組數據轉換為字符串,然后就可以在函數之間輕松地傳遞這個字符串,或者在異步應用程序中將字符串從 Web
    客戶機傳遞給服務器端程序。這個字符串看起來有點兒古怪,但是 JavaScript 很容易解釋它,而且 JSON 可以表示比”名稱 /
    值對”更復雜的結構。例如,可以表示數組和復雜的對象,而不僅僅是鍵和值的簡單列表。?
    按照最簡單的形式,可以用下面這樣的 JSON 表示 “名稱 / 值對” :{ “firstName”: “Brett” }?
    當需要表示一組值時,JSON 不但能夠提高可讀性,而且可以減少復雜性。?

    如:

    ? ? ?{

    ? ? ? ? "people":[

    ? ? ? ? ?{"firstName": "111", ....},

    ? ? ? ? ?{"firstName": "222",...},

    ? ? ? ? ?{"firstName": "333",...}

    ? ? ?]}

    二 Python處理JSON數據

    Python的json模塊提供了一種很簡單的方式來編碼和解碼JSON數據。 其中兩個主要的函數是 json.dumps() 和 json.loads()?
    import json data={"name":"sunxiaomin","sex":"男","年齡":"26"}
    #將python字典類型變成json數據格式 json_str=json.dumps(data) print(json_str)
    print(type(json_str)) #將JSON數據解碼為dict(字典) data1=json.loads(json_str)
    print(data1) print(type(data1))
    輸出結果:

    {"name": "sunxiaomin", "sex": "\u7537", "\u5e74\u9f84": "26"}
    <class 'str'>
    {'name': 'sunxiaomin', 'sex': '男', '年齡': '26'}
    <class 'dict'>
    ?

    函數詳解

    使用 JSON 函數需要導入 json 庫:import json。

    函數描述
    json.dumps將 Python 對象編碼成 JSON 字符串
    json.loads將已編碼的 JSON 字符串解碼為 Python 對象
    json.dumps

    json.dumps 用于將 Python 對象編碼成 JSON 字符串。

    語法
    json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
    allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8",
    default=None, sort_keys=False, **kw)
    1) skipkeys:布爾型,默認為False,如果設為True的話,在dict中的key值如果出現非 (str, unicode, int, long,
    float, bool, None)對象,則跳過該key而不是拋出 ValueError。

    2) indent:非負整數,表示編碼后的字符串的縮進方式,默認為None表示無縮進,一般設為4,如果設為0則只會添加換行符。

    ? ? indent參數根據數據格式縮進顯示,讀起來更加清晰, indent的值,代表縮進空格式:

    3) separators:元組,默認為None,如果設置的話,一般設為(’,’,’:’),表示把’,’和‘:’后面的空格去掉,用來精簡輸出字符串。

    ? ? ?separators參數的作用是去掉‘,’ ‘:’后面的空格,在傳輸數據的過程中,越精簡越好,冗余的東西全部去掉。

    4) sort_keys: 布爾型,默認為False,如果設為True,則輸出的dict會按照key值排序。

    ? ? sort_keys是告訴編碼器按照字典key排序(a到z)輸出

    5) 輸出真正的中文需要指定ensure_ascii=False

    如果無任何配置,或者說使用默認配置,
    輸出的會是‘涼涼’的ASCII字符嗎,而不是真正的中文。
    這是因為json.dumps 序列化時對中文默認使用的ascii編碼。

    json.loads?語法

    json.loads(s,?*,?encoding=None,?cls=None,?object_hook=None,?parse_float=None,?
    parse_int=None,?parse_constant=None,?object_pairs_hook=None,?**kw)

    ?

    技術
    下載桌面版
    GitHub
    百度網盤(提取碼:draw)
    Gitee
    云服務器優惠
    阿里云優惠券
    騰訊云優惠券
    華為云優惠券
    站點信息
    問題反饋
    郵箱:ixiaoyang8@qq.com
    QQ群:766591547
    關注微信
    巨胸美乳无码人妻视频