Beachten Sie, dass ich in letzter Zeit mehr Möglichkeiten habe, es zu verwenden, z. B. ein assoziatives Array in JSON zu codieren und es über TCP oder UDP zu senden oder eine in JSON geschriebene Einstellungsdatei zu lesen.
Wenn die Daten des assoziativen Arrays häufig neu geschrieben werden und Sie den Inhalt jedes Arrays durch Kommunikation senden möchten, ist es zweckmäßig, JSON zu verwenden.
Angenommen, Sie möchten einige 3D-Koordinaten abrufen und in einem assoziativen Array speichern.
>>> import json
>>> list = {'x': 100, 'y': 200, 'z': 300}
>>> json.dumps(list)
'{"x": 100, "y": 200, "z": 300}'
Da es sich bei diesem Beispiel um einfache Daten handelt, müssen Sie sich nicht die Mühe machen, sie zu einem assoziativen Array zu machen. Es ist jedoch sehr einfach, Daten mit einem Schlüssel abzurufen, wenn verschiedene Datentypen vorhanden sind oder wenn Sie sich nicht nacheinander an die Reihenfolge erinnern.
Selbst wenn Sie JSON-codierte Daten über eine Art Kommunikation an einen anderen Ort senden, kann der Empfänger die Daten problemlos abrufen, wenn Sie den Schlüssel angeben. Also JSON-Dekodierung.
Codieren Sie die zuvor verwendete Liste, weisen Sie sie einer Variablen zu und versuchen Sie, sie zu dekodieren.
>>> import json
>>> list = {'x': 100, 'y': 200, 'z': 300}
>>> enc = json.dumps(list)
>>> print enc
'{"x": 100, "y": 200, "z": 300}'
>>> dec = json.loads(enc)
>>> print dec
{u'y': 200, u'x': 100, u'z': 300}
>>> print dec['x']
100
So was. Nach dem Dekodieren ist die Reihenfolge der darin enthaltenen Elemente nicht in Ordnung. Wenn Sie sich darauf beziehen, wird es auf jeden Fall vom Schlüssel aufgerufen, sodass die Reihenfolge keine Rolle spielt.
Recommended Posts