簡體   English   中英

將python中的json反序列化為單獨的值

[英]Deserialize json in python to a separate value

我有一個 Arduino,它在 MQTT 服務器中發布了一個 json 字符串。 我用 python 閱讀了這個主題,看到了這個:

{"temp1": 123, "vol1": 456, "cur1": 789, "pf1": 321, "p1":654}

如何划分各個部分並將它們分配給稍后在腳本中使用的變量?

es:

temp1 = 123
vol1 = 456

編輯:我的json字符串是這樣的: {"temp1":26.44,"vol1":0.00,"cur1":0.04,"pf1":1.00,"p1":4000.00,"s1":0.00,"f1":48.84,"p1max":4000.00,"en1":16.00,"prev_en1":0.00,"m_en1":0.00,"prev_m_en1":0.00}

    pacdata = msg.payload.decode("utf-8")
    print("pacdata= ",str(pacdata))
    my_set = str(pacdata)
    print("my_set= ",my_set)
    my_var = []
    my_var1 = []
    for x,y in my_set.items():
        print (x,'=',y)
        x = y
    print("value temp1: ", my_set['temp1'])

如果我用你的代碼寫(復制)這個字符串一切正常,如果我使用包含這個字符串的變量腳本不起作用......為什么?

謝謝!

你真的不需要將字典分成不同的部分來保持每個部分作為變量供以后使用。 通常為此目的存在字典,該鍵可以用作您的變量,並且可以在需要時將值用作此類。 您只需要以這種方式遍歷字典即可在任何時候獲得您想要的:

my_set = {"temp1": 123, "vol1": 456, "cur1": 789, "pf1": 321, "p1":654}
for x,y in my_set.items():
   print (x,'=',y) 

您會注意到,可以將鍵聲明為變量並分配給它們的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM