JSON - sprawdanie czy zawiera poprawne dane

JSON - sprawdanie czy zawiera poprawne dane
K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 43
0

Dzień dobry,

muszę sprawdzić czy JSON którego otrzymam zawiera kilka poprawnych cech.

Przyjmijmy, że mamy JSON:

Kopiuj
{
"project":"glossary",
"before": "95790bf891e76fee5e1747ab589903a6a1f80f22",
 "after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
    "glossary": {
        "title": "example glossary",
		"GlossDiv": {
            "title": "S",
			"GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
					"SortAs": "SGML",
					"GlossTerm": "Standard Generalized Markup Language",
					"Acronym": "SGML",
					"Abbrev": "ISO 8879:1986",
					"GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
						"GlossSeeAlso": ["GML", "XML"]
                    },
					"GlossSee": "markup"
                }
            }
        }
    }
}

Jak wyglądałaby metoda która sprawdzałaby w czy np. project === glossary lub czy title === example glossary
Chodzi mi o zwykłe ify sprawdzajace czy znajdują się tam dane przeze mnie oczekiwane, tylko, że nie wiem jak przedostać się przez drzewo json by sprawdzic wlasnie ich poprawnosc.

dzieki za kazda pomoc

Haskell
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4700
2

parsujesz json na obiekt

Kopiuj
const obj = JSON.parse(json_document);

i teraz możesz napisać:

Kopiuj
if(obj.project === 'glossary')
  console.log('dupa');
Haskell
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4700
1

Tak, możesz. Przykładowo jeżeli połączysz się z jakimś API i za pomoca fetch pobierzesz JSON-a, to zapisujesz sobie to do jakiejś zmiennej i zmienną podstawiasz w miejscu json_document.

K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 43
0
Haskell napisał(a):

parsujesz json na obiekt

Kopiuj
const obj = JSON.parse(json_document);

i teraz możesz napisać:

Kopiuj
if(obj.project === 'glossary')
  console.log('dupa');
Kopiuj


Dzięki, a po drzewie JSON-a przechodzimy podając np. object.project.author itd? w sensie, ze po kazdej nastepnej kropce przechodzimy na kolejny poziom JSON-a?
KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
0
kiowa72 napisał(a):

Dzięki, a po drzewie JSON-a przechodzimy podając np. object.project.author itd? w sensie, ze po kazdej nastepnej kropce przechodzimy na kolejny poziom JSON-a?

Tak. To już jest "normalny" JavaScriptowy obiekt

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.