NEWS
JSON Array in nodejs Objekt umwandeln
-
Moin Moin,
wie kann ich aus diesem JSON,
nodejs Datenpunkte erstellen?
{"statusCode":200,"body":"[{\"error\":{\"type\":3,\"address\":\"/lights/30\",\"description\":\"resource, /lights/30, not available\"}}]","headers":{"server":"nginx","date":"Wed, 16 Jan 2019 22:33:24 GMT","content-type":"application/json","connection":"close","cache-control":"no-store, no-cache, must-revalidate, post-check=0, pre-check=0","pragma":"no-cache","expires":"Mon, 1 Aug 2011 09:00:00 GMT","access-control-max-age":"3600","access-control-allow-origin":"*","access-control-allow-credentials":"true","access-control-allow-methods":"POST, GET, OPTIONS, PUT, DELETE, HEAD","access-control-allow-headers":"Content-Type"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"IP","port":80,"hostname":"IP","hash":null,"search":null,"query":null,"pathname":"/api/KEY/lights/30","path":"/api/KEY/lights/30","href":"http://IP/api/KEY/lights/30"},"method":"GET","headers":{}}}Ich brauche:
type:
address:
description:
Dies funktioniert:
console.warn(response.statusCode)Wenn ich:
console.warn(response.body)eingebe bekomme ich den kompletten array als string ausgegeben.
Wenn ich:
console.warn(response.body[0]['error'].type)oder
console.warn(response.body[0].error.type)probiere bekomme ich einen TypeError.
Kann mir da jemand helfen?
Mit freundlichen Grüßen
Kevin
-
Aber meine response ist ein JSON.
Ich habe nur mit:
console.log(JSON.stringify(response));lesbar im LOG gemacht und hier rein kopiert. `
Ich bin auch grad am Lernen, hatte vor Kurzem ein ähnliches Problem:
ich vermute, deine Frunktion sieht so aus: function (error, response, body) {
wenn dein body so ausschaut:
{"error":{"type":3,"address":"/lights/30","description":"resource, /lights/30, not available"}}dann versuche mal:
var obj = JSON.parse(body); log('Type: ' + obj[Object.keys(obj)[0]].type); log('Address: ' + obj[Object.keys(obj)[0]].address); log('Description: ' + obj[Object.keys(obj)[0]].description);
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden