JSON 初學筆記

2021-08-11 22:12:37 字數 2119 閱讀 4041

python json

c sharp

常用於不同工程之間資料的中轉(特別是這些工程都適用不同的語言的時候),許多語言對於 json 都有良好的支援;同時,json檔案本身也具有一定的可閱讀性。

json 檔案由乙個 dictionary 或者乙個 dictionary 陣列(list, vector之類)組成,其檔案組織如下(注意,不論是 dict 還是 list ,其最後乙個元素後面都是沒有,的:

[

, ]

python 自帶 json 的處理包

import json
with

open

("output.json"

,"w"

)as f:

json.dump(obj, f)

stra = json.dumps(dicta)
dumps函式有很多可選引數,例如:indent可以指定每個單元之間換行並縮排相應長度,不同層次結構之間的縮排是累加的,縮排的效果如我前面的那兩個 json 展示所示。(python.org 上的 json ,這裡還有輸出的轉換表)

需要注意的是,json.dumps()返回乙個符合 json 規範的 string, 當時,如果只是簡單地將幾個這樣的 string 拼接在一起,得到的結果並不是正確的 json 字串,因此,如果需要匯出多個這樣的dict,請將它們組織在同乙個list中。

jsonstr = json.dumps(

[dicta, dictb, dictc]

)

得到的 string 就可以通過 python 的 檔案讀寫 或 命令列裡的輸出重定向 等方式輸出到檔案

與輸出的方式相似,json.load()json.loads()提供了從檔案和字串讀入(deserialize)的方式。

對於 python 的內建資料型別,如list,dict可以直接使用son.dumps()去做。但是如何簡單快速地匯出我們自己寫的類呢?如果我們的類定義如下:

class

register

:def

__init__

(self)

: self.eax =0;

self.ecx =0;

self.edx =0;

self.ebx =

0;

怎樣才能快速地把這個類轉換成乙個如下的 dict 呢?

對於 python 的每乙個類,都有一些名字是__***__的 method,即便對於我們自己寫的類,儘管我們沒有去重寫這些 method ,python 也會自動幫我們生成乙個預設的 method 。這裡我們用到的就是__dict__

>>

> reg = register(

)>>

>

print

(reg.__dict__)

>>

> json.dumps(reg.__dict__)

''

stackoverflow鏈結

(廢話:由於我需要提供從 python 到 unity 的資料交流,因此這裡直接跳到了 c#)

參考 ms 給出的乙個範例:link 「讀取和回顯檔案」

using newtonsoft.json;

// in a certain function:

// one dict

var dict = jsonconvert.deserializeobject>(file);

// one list

var list = jsonconvert.deserializeobject>>(file);

初學者json的轉換

如果要將陣列 物件 map list轉換成json資料,那我們需要一些jar包 json lib 2.4 jdk15.jar ezmorph 1.0.6.jar commons logging.jar commons lang.jar commons collections.jar commons ...

python初學習之json檔案訪問

畢業了,前段時間準備畢業事宜。剛來到研究生學校,在學習python。import json def hello user username input 請輸入您的姓名 if judge user username print username 您在系統名單中!else print username ...

spring web flow初學筆記

最近在看spring in action 2nd,學到spring web flow,記了一些筆記 1 怎樣開始乙個web flow,片斷如下 注意紅色部分 flowid pizzaorder flow gotoflow 前提是你已經配置好了乙個spring web flow 其中pizzaorde...