2016-11-02 57 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