2016-11-02 1 views
0

Dies ist die Zeichenfolge, die ich aktualisieren möchte.Aktualisieren von Werten in einem JSON

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

Ich weiß, wie zum Beispiel nur den X- oder Y-Wert von FourthFind extrahieren. Aber im Moment suche ich nach diesem Wert und ersetze ihn durch einen neuen, den ich eingeben möchte.

Ich möchte etwas tun simliar:

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

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

Um Daten zu überschreiben, aber ich weiß nicht, ob das möglich ist.

+2

Es ist * nur ein Wörterbuch *. Sie können Tasten in Wörterbüchern zuweisen, ja. 'l ['TrueCoords'] ['FourthFind']' ist das Wörterbuch, 'l [' TrueCoords '] [' FourthFind '] [' X '] =' 42'' aktualisiert den Wert für die Taste ''X'' . –

Antwort

0

Obwohl die Daten möglicherweise aus einem JSON-Dokument stammen, haben Sie nach dem Parsing gewöhnliche Wörterbücher, die auf andere normale Wörterbücher verweisen.

Sie können jederzeit auf einen Schlüssel in einem Wörterbuch zu:

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

Sie haben nur eine verschachtelte Wörterbuch, so dass Sie auf Zeichenfolge müssen zusammen ein paar [...] Abonnements, die Sie ändern möchten, zuzugreifen:

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

Dies setzt die 'X' Schlüssel auf den neuen Wert '42', in dem durch l['TrueCoords']['FourthFind'] verwiesen Wörterbuch.

+0

Danke, hat mir geholfen! Behalte es für die Zukunft im Gedächtnis. :) – Hangfish

Verwandte Themen