基於JSON的態勢資料封裝

2021-10-14 19:38:03 字數 2371 閱讀 5597

log格式

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

jan 15 08:50:31 2021-01-15 08: 50:31,384 - root - info - cpu利用率:0.16%##記憶體利用率:52.84 %##磁碟使用率:0.13 %##網口實時流量: 出: 15680 #入:55284

%(asctime)s - %(name)s - %(levelname)s - %(message)s
主要看最後的message,裡面的資料是自己選擇要傳送的資料,格式為自定義,這裡使用##和#來分割

import json

f = open(r'mylog.log','r',encoding='utf-8')

f.seek(0,0)

jsonx=""

for each_line in f:

時間,使用者,等級,資訊=each_line.split(" - ") #對log每一行使用 - 分割,得到四部分,分別賦值給時間,使用者,等級,資訊

資訊=資訊.replace("\n","").replace(" ","") #去除資訊中的無關字元

cpu利用率, 記憶體利用率, 磁碟使用率, 網口實時流量= 資訊.split("##") #對資訊使用##分割,得到四部分,分別賦值給cpu利用率, 記憶體利用率, 磁碟使用率, 網口實時流量

cpu利用率=cpu利用率.split(":")[1] #使用:分割,取 cpu利用率 值

記憶體利用率=記憶體利用率.split(":")[1] #使用:分割,取 記憶體利用率 值

磁碟使用率=磁碟使用率.split(":")[1] #使用:分割,取 磁碟使用率 值

網口實時流量=網口實時流量.split(":",1)[1] #取 網口實時流量 值

出,入=網口實時流量.split("#") #對網口實時流量使用#分割,得到兩部分,分別賦值給出,入

出=出.split(":")[1] #使用:分割,取 出流量 值

入=入.split(":")[1] #使用:分割,取 入流量 值

日誌=

}}

myjson= json.dumps(日誌, ensure_ascii=false)

jsonx=jsonx+myjson+","

print(myjson)

f.close()

jsonx="["+jsonx[:-1]+"]"

with open("myjson.json", 'w',encoding='utf-8') as file_object:

file_object.write(jsonx)

輸出後的json檔案

[}},}},}},}},}},}},}},}}]
注意事項,這裡沒有進行資料格式的轉換,所有資料都是字元型的

java 後台封裝json資料

1.list集合轉換成json list list new arraylist list.add first list.add second jsonarray jsonarray2 jsonarray.fromobject list 2.map集合轉換成json map map new hashm...

Json資料封裝和解析

新增dll引用 右鍵專案 新增引用 net 選擇 c program files x86 reference assemblies microsoft framework v3.0 system.runtime.serialization.dll c program files x86 refere...

C 使用Json封裝資料和解析資料

編譯出來的庫名 json vc71 libmtd.lib debug json vc71 libmt.lib release 需要包含的標頭檔案 jsoncpp src 對應原始碼 include json 該目錄下所有檔案 呼叫庫方式 include json json.h ifdef debug...