2016-08-04 10 views
0

Heute begann ich mit Json ein Python 3.x ... So gibt es noch einige Probleme. Dies ist jetzt mein erstes wichtiges Problem, das ich habe.json Objekte zu bestimmten Index hinzufügen - Python

Ich suche nach einem fuction Wich kann (zum Beispiel) fügen Sie diese:

{ 
    'Current': '3A', 
    'Voltage': '11V' 
} 

In hier:

{ 
    'Measure': [ 
     {'Current': '2A', 'Voltage': '11V'} 
    ] 
} 

... so, dass mein Ergebnis ist:

{ 
    'Measure': [ 
     {'Current': '2A', 'Voltage': '11V'}, 
     {'Current': '3A', 'Voltage': '11V'} 
    ] 
} 

Ich fand nur Funktionen in Javascript, um mein Problem zu lösen, in Python nicht. Bis jetzt habe ich nur eine hierarchische Erstellungsmethode für json gesehen und nichts wie eine Klasse und Instanz aufgebaut.

Ich hoffe, es gibt Gelegenheit, es zu tun. ;) Irgendwelche Ideen?

+0

Das JSON-Modul? – polku

Antwort

0

Meine Lösung für Ihr Problem ist, die Daten zu halten, wie Python- Wörterbuch dann Operationen auf sie tun, später können Sie JSON-Objekte erhalten.

import json 
j = {'Measure': [ {'Current': '2A', 'Voltage': '11V'}]} 
d = {'Current': '3A', 'Voltage': '11V'} 
j['Measure'].append(d) # as it is list use append otherwise update 
json.dumps(j) 

Ausgang:

'{"Measure": [ 
      {"Current": "2A", "Voltage": "11V"}, 
      {"Current": "3A", "Voltage": "11V"} 
]}' 

EDIT-1:

Erste Daten Kind Wörterbuch anhängen dann dict.update Mutter Wörterbuch verwenden daher gelöst.

EDIT-2

Genaue Antwort ist

j['Device']['Measure'].append({'Current': '3A', 'Voltage': '11V'})

sie arbeiten hat.

Hoffe es ist hilfreich .. !!

+0

Das ist der richtige Weg. Aber ich muss überprüfen, dass es auch in der dritten Ebene oder Ebene funktioniert wie 'j ['device_1', 'Measure']. Append (d)' – Maddel

+0

Immer willkommen !! Frag mich nach Irgendein Code-Schnipsel :) –

+0

Antwort ist aktualisiert .. lass mich wissen, du hast noch ein Problem. –

0

Meinst du so etwas?

>>> measureDict = {'Measure': []} 
>>> measureDict['Measure'].append({'Current': '2A', 'Voltage': '11V'}) 
>>> measureDict['Measure'].append({'Current': '3A', 'Voltage': '11V'}) 
>>> measureDict 
{'Measure': [{'Current': '2A', 'Voltage': '11V'}, {'Current': '3A', 'Voltage': '11V'}]} 
>>> import json 
>>> json.dumps(measureDict) 
'{"Measure": [{"Current": "2A", "Voltage": "11V"}, {"Current": "3A", "Voltage": "11V"}]}' 
>>> 
Verwandte Themen