2016-04-12 12 views
-4

Ich habe folgendes jsonGet-spezifischen Teil von Json in Python

{ 
"1102": { 
    "colours": { 
     "r": -70.353, 
     "g": -33.151, 
     "b": -33.824, 
     "y": -71.043 
    }, 
    "texture": "grainy", 
    "transparency": "0.8" 
}, 
"3941": { 
    "colours": { 
     "r": -57.833, 
     "g": -34.219, 
     "b": -35.139, 
     "y": -59.258 
    }, 
    "texture": "smooth", 
    "transparency": "0.2" 
}, 
"2932": { 
    "colours": { 
     "r": -45.863, 
     "g": -23.125, 
     "b": -24.317, 
     "y": -47.357 
    }, 
    "texture": "rough", 
    "transparency": "0.1" 
}, 

Und ich mag Python verwenden, um einen Druck Ohne die Informationen zu bekommen

ich folge Ich habe irgendwelche Methoden ausprobiert, aber ich kann die ersten Teile nicht isolieren. Jede Hilfe wird geschätzt.

+1

Haben Sie etwas versucht json denen Parsen? – JBernardo

Antwort

1

laden json json module in ein Python-Wörterbuch verwenden und erhalten die .keys():

import json 

data = "your json data" 

d = json.loads(data) 
print(d.keys()) 

Beachten Sie, dass in Python 3 ist .keys() ein view, um die Liste zu erhalten:

print(list(d.keys())) 
0
data = json.loads(json_string) 
for k,v in data: 
    print(k,v) 
+0

Anstatt nur den Code anzugeben, erläutern Sie bitte die Logik. Dies ermöglicht sowohl dem OP als auch anderen Lesern, die Prinzipien, die hinter der Lösung stehen, zu lernen und sie auf ihr spezifisches Problem anzuwenden. – CodeMouse92

0

Sie können den JSON laden und in ein Wörterbuch konvertieren:

import json  
data = json.loads(json_string) 

Dann können Sie leicht sie Tasten drucken:

print ' '.join([key for key in data.iterkeys()]) 

Erledigt, Sie alle Schlüssel Leerzeichen getrennt drucken werden, eine pythonic Liste Verständnis über das Wörterbuch aus dem JSON-String erstellt.

0

Wenn Sie die JSON auf eine Variable ...

myJson = { 
"1102": { 
    "colours": { 
     "r": -70.353, 
     "g": -33.151, 
     "b": -33.824, 
     "y": -71.043 
    }, 
    "texture": "grainy", 
    "transparency": "0.8" 
}, 
"3941": { 
    "colours": { 
     "r": -57.833, 
     "g": -34.219, 
     "b": -35.139, 
     "y": -59.258 
    }, 
    "texture": "smooth", 
    "transparency": "0.2", 
    "country": "Argentina" 
}, 
"2932": { 
    "colours": { 
     "r": -45.863, 
     "g": -23.125, 
     "b": -24.317, 
     "y": -47.357 
    }, 
    "texture": "rough", 
    "transparency": "0.1"} 
} 

Python zuweisen wird es als Wörterbuch behandeln! Sie können print(myJson), die zurückkehren wird:

{'3941': {'country': 'Argentina', 'transparency': '0.2', 'colours': {'g': -34.219, 'y': -59.258, 'b': -35.139, 'r': -57.833}, 'texture': 'smooth'}, '2932': {'transparency': '0.1', 'colours': {'g': -23.125, 'y': -47.357, 'b': -24.317, 'r': -45.863}, 'texture': 'rough'}, '1102': {'transparency': '0.8', 'colours': {'g': -33.151, 'y': -71.043, 'b': -33.824, 'r': -70.353}, 'texture': 'grainy'}}

Wenn Sie bestimmte Daten möchten, können Sie print(myJson['1102']) verwenden, die angezeigt werden können:

{'transparency': '0.8', 'colours': {'g': -33.151, 'y': -71.043, 'b': -33.824, 'r': -70.353}, 'texture': 'grainy'}