2016-11-02 86 views
0

這是我期待更新的字符串。更新json sting中的值

Koordinatstring = 
    { 
      "Koords":"Koordinates", 
      "TrueCoords": 
      { 
        "FirstFind": 
        { 
          "X":"134", 
          "Y":"223", 
        }, 
        "SecondFind": 
        { 
          "X":"721", 
          "Y":"632", 
        }, 
        "ThirdFind": 
        { 
          "X":"412", 
          "Y":"344", 
        }, 
        "FourthFind": 
        { 
          "X":"612", 
          "Y":"532", 
        } 
      } 
    } 

我知道如何從FourthFind只提取X或Y值的例子。但是我現在想要做的就是訪問這個值,並用我想要輸入的新值替換它。

我想做點什麼simliar到:

k = json.dumps(koordinatstring) 
l = json.loads(k) 

Kords1 = l['TrueCoords']['FirstFind']['X'] 

要覆蓋的數據,但我不知道這是否是可能的。

+2

它只是一個字典*。你可以在詞典中分配鍵,是的。 '['TrueCoords'] ['FourthFind']'是字典,'['TrueCoords'] ['FourthFind'] ['X'] ='42'更新「X」鍵的值。 –

回答

0

儘管數據可能來自JSON文檔,但一旦解析出來,您就擁有引用其他普通字典的普通字典。

你總是可以分配給在字典中鍵:只是有一個嵌套的字典

d = {'foo': 'bar'} 
d['foo'] = 'spam' 

你,所以你需要串起來的幾個[...]訂閱來訪問你想要改變的人:

l['TrueCoords']['FourthFind']['X'] = '42' 

這將'X'鍵設置爲由l['TrueCoords']['FourthFind']引用的字典中的新值'42'

+0

謝謝,幫幫我!將繼續銘記未來。 :) – Hangfish