Hi Chris,anteeksi, olet oikeassa, en selittänyt itseäni oikein, anna minun olla hieman tarkempi -Esimerkiksi: kun vastaanotat dataa API-päätepisteestä JSON-objektina, jossa on sisäkkäisiä matriiseja.esimerkiksi sääolosuhteiden nykytila-päätepiste, niin tässä tapauksessa, jotta voidaan jäsentää vain dataobjektin olennaiset ominaisuudet (eli ei koko objektia, sanotaan tässä tapauksessa vain lämpötilakenttä).
havainnollistamiseksi, yritän parhaani mukaan pilkata tätä (älkää tuomitko minua liian kovaa, im vielä vihreä korvien takana 🤓)
"Data":
Joten ottaen huomioon tämän vastauksen, mitä tekisin tämän ratkaisemiseksi olisi, luoda funktio, joka tarkistaa:
- onko data on array tai objekti.
- syöttää sitten datan parser-funktioon, jotta parseerataan vain relevantit dataominaisuuskentät.
esimerkiksi jotain tällaista:
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", });
Nyt takaisin ensimmäiseen kysymykseeni aiemmin, minusta tuntuu, että täytyy olla parempi tapa suorittaa tämä kuin kovaa koodausta arvot olen kiinnostunut parsimisesta?
Kiitokset kärsivällisyydestänne toistaiseksi … Toivottavasti en ollut liian vaikea ymmärtää 😅
.