Hallo Chris,sorry, du hast Recht, ich habe mich nicht richtig ausgedrückt, lass mich etwas präziser sein -Zum Beispiel: wenn man Daten von einem API-Endpunkt als JSON-Objekt mit verschachtelten Arrays empfängt.zum Beispiel Wetter aktuelle Bedingungen Endpunkt, so dass in diesem Fall, um nur die relevanten Eigenschaften des Datenobjekts (dh nicht das gesamte Objekt, sagen wir nur die Temperatur Feld in diesem Fall) zu parsen.
Zur Veranschaulichung werde ich mein Bestes tun, um dies nachzumachen (verurteilen Sie mich nicht zu hart, ich bin noch grün hinter den Ohren 🤓)
"Data":
Angesichts dieser Antwort würde ich also eine Funktion erstellen, die prüft:
- ob die Daten ein Array oder ein Objekt sind.
- Dann füttere ich die Daten mit der Parserfunktion, um nur relevante Dateneigenschaftsfelder zu analysieren.
Zum Beispiel so etwas wie das hier:
const isArrayOrObject = (jsonData) => { let result = jsonData; if (Array.isArray(result.data)) { return result.data.map((result) => currentConditionsReducer(result)); } else { return currentConditionsReducer(result.data); }}; export const currentConditionsReducer = (result, language) => { return { currentDate: dateFromString(result.DateString, language), weatherPhrase: result.WeatherText, icon: iconUrlResolver(result.WeatherIcon), temperature: result.Temperature.Imperial.Value,};};const dateFromString = (value, language) => { return new Date(value).toLocaleDateString(language, { day: "2-digit", month: "2-digit", year: "numeric", });
Nun zurück zu meiner ersten Frage von vorhin, ich habe das Gefühl, dass es einen besseren Weg geben muss, als die Werte, die ich analysieren möchte, hart zu kodieren…
Danke für Ihre Geduld bis jetzt… Ich hoffe, ich war nicht zu schwer zu verstehen 😅