Oft finde ich mich in der Situation, wo ich beginne, eine neue API zu erforschen und große JSON-Objekte zurück zu bekommen. Und jedes Mal habe ich Mühe, einen Weg zu finden, sie richtig einzuordnen, damit ich die Struktur leicht sehen und die Teile identifizieren kann, die für meine Aufgabe relevant sind.Wie wird mit großen JSON-Daten beim Erkunden einer API umgegangen?
Im Moment erkunde ich die Z-Wave API für Razberry (Home Automation). Ich bekomme ein JSON zurück, das alle Geräte enthält, die an das Home Automation-Netzwerk angeschlossen sind. Es sieht wie folgt aus:
Und ich verstehe nicht, warum Rails die Zeilen in der Art und Weise bricht kann es hier zu sehen ist, und warum es nicht gelingt, richtig die JSON-Daten einrücken. Die Ausgabe auf dem Screenshot ist das Ergebnis dieses Controller-Code:
request = Net::HTTP::Get.new(uri)
request.basic_auth 'admin', 'bla'
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
@devices = JSON.parse(response.body)
render json: @devices
Es wäre interessant zu sehen, wie erfahrene Programmierer JSON in diesem Stadium behandeln, wenn die Datenstruktur zu erkunden. Wie kann ich die JSON in diesem Stil zeigen ?:
{"1":
{"instances":
{"0":{
"commandClasses":
{"32":
{"name":"Basic",
"data":
{"invalidateTime":1462455293,
"updateTime":1462365990,
"type":"empty",
"value":null,
"supported":
{"invalidateTime":1462455293,
"updateTime":1462365990,
"type":"bool",
"value":true},
"version":
wunderbar, danke! – Flip