JSON - sprawdanie czy zawiera poprawne dane

JSON - sprawdanie czy zawiera poprawne dane
K7
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
  • 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:prawie 10 lat
  • Ostatnio:około rok
  • 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');

Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
edytowany 2x, ostatnio: Haskell
K7
Oo dzięki a da się w miejscu '''json_document''' podpiac jakis zewnetrzny endpoint ktory wystawiam na serwerze typu localhost:1337/user?
K7
w sensie zeby json byl pobierany automatycznie z serwera
Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:około rok
  • 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.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
K7
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
  • 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?
edytowany 1x, ostatnio: kiowa72
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:9 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
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


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie

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.