Co to jest JSON?
JSON to lekka reprezentacja tekstowa do przechowywania i przesyłania strukturalnych danych w zorganizowany sposób. Dane JSON są reprezentowane w formie uporządkowanych list i par kluczowych. JSON oznacza JAvaSCRIPT OBject NOtation. Jak wskazuje pełna nazwa, pochodzi z JavaScript. Jednak dane JSON są obsługiwane w większości popularnych języków programowania.
Jest często używany do przesyłania danych z serwera na stronę internetową. O wiele łatwiejsze i czystsze do przedstawienia strukturalnych danych w JSON niż XML.
Reguła składni JSON
Oto reguły składni JSON:
Co to są dane JSON?
Dane JSON są reprezentowane w postaci par kluczowych. Jest to podobne do słownika lub skrótu w innych językach programowania.
„Nazwa”: „Drake”
To jest przykład prostych danych JSON. Kluczem tutaj jest „nazwa”, a „Drake” to odpowiednia wartość. Klucz, ja.mi., „Nazwa” i wartość, ja.mi., „Drake” są oddzielone okrężnicy.
Rozszerzenie pliku JSON
Dane JSON są zwykle przechowywane w pliku z rozszerzeniem „.JSON ”. Na przykład, aby przechowywać dane pracownika, możesz po prostu nazwać plik jako „pracownik.JSON '. To byłby prosty plik tekstowy. Następnie możesz otworzyć ten plik JSON w dowolnym z twoich ulubionych edytorów tekstu.
Obiekt JSON
Obiekt JSON to tylko dane JSON zamknięte w kręconych aparatach ortodontycznych. Oto przykładowy obiekt JSON:
Obiekt JSON może zawierać wiele danych JSON. Każde dane JSON są oddzielone przecinkiem. Dane JSON są reprezentowane jako pary wartości kluczowej. Klucz, ja.mi., „Nazwa” i wartość, ja.mi., „Drake” są oddzielone okrężnicy. W powyższym przykładzie istnieją cztery pary wartości kluczy. Pierwszym kluczem jest „nazwa”; „Drake” jest dla niego odpowiednią wartością. Podobnie „EmployeEID”, „Phone” i „Department” to pozostałe trzy klucze.
JSON Array
Tablica JSON może zawierać kilka obiektów JSON oddzielonych przecinkami. Tablica JSON jest zamknięta w kwadratowym przedziale. Spójrzmy na przykład tablicy JSON:
„Uczniowie”: [To jest przykład tablicy JSON. Tutaj „studenci” są zamknięte w kwadratowym wsporniku, ja.mi., tablica i zawiera cztery obiekty JSON. Każdy z tych obiektów jest reprezentowany w postaci par kluczowych i jest oddzielony przecinkiem.
Przykładowy plik JSON
Teraz, odkąd zrozumieliśmy dane JSON, obiekty JSON, JSON Array, spójrzmy na przykład pliku JSON:
Parsowanie bibliotek w C ++:
Nie ma natywnego rozwiązania do analizowania danych JSON w C++. Istnieje jednak kilka bibliotek do analizowania danych JSON w C++. W tym artykule przyjrzymy się dwóch najpopularniejszych bibliotek, aby analizować dane JSON w C++. Oto linki GitHub do analizowania danych JSON:
Możesz pobrać te biblioteki, aby móc wykonać przykłady pokazane poniżej.
Przykłady
Teraz mamy podstawowe zrozumienie danych JSON, obiektów, tablic i dostępnych bibliotek parsowania. Spójrzmy teraz na kilka przykładów, aby przeanalizować dane JSON w C ++:
Na przykład-1 i przykład-2, skorzystamy z biblioteki „NLOHMANN”. W przypadku przykładu 3 użyjemy biblioteki „RapidJson”.
Przykład-1: Parse Json w C++
W tym przykładowym programie pokażemy, jak uzyskać dostęp do wartości danych JSON w C++.
#włączać
#include "JSON.HPP "
używając JSON = nlohmann :: JSON;
int main ()
// Jdemployes
JSON JDEMPLOTYES =
„FirstName”, „Sean”,
„LastName”, „Brown”,
„StudentId”, 21453,
„Department”, „Computer SC.";
// Dostęp do wartości
std :: String fname = jdemployees.wartość („FirstName”, „OOPS”);
std :: String lname = jdemployees.wartość („LastName”, „OOPS”);
int sid = jdemployees.wartość („StudentId”, 0);
std :: String Dept = jdemployees.wartość („dział”, „oops”);
// Wydrukuj wartości
STD :: Cout << "First Name: " << fName << std::endl;
STD :: Cout << "Last Name: " << lName << std::endl;
STD :: Cout << "Student ID: " << sID << std::endl;
STD :: Cout << "Department: " << dept << std::endl;
powrót 0;
Przykład-2: Parse i serializuj JSON w C++
W tym przykładowym programie zobaczymy, jak przeanalizować i serializować JSON w C++. Używamy „JSON :: parse ()”, aby przeanalizować dane JSON.
#włączać
#include "JSON.HPP "
#włączać
używając JSON = nlohmann :: JSON;
int main ()
// Oto tekst JSON
Char Text [] = r ”(
"Książka":
„Szerokość”: 450,
„Wysokość”: 30,
„Tytuł”: „Hello World”,
„Isbiografia”: Fałsz,
„Numofcopies”: 4,
„LibraryIds”: [2319, 1406, 3854, 987]
) ”;
// Parse i serializujmy JSON
JSON J_COMPLETE = JSON :: parse (tekst);
STD :: Cout << std::setw(4) << j_complete << std::endl;
Przykład-3: Parse Json w C++
Teraz zademonstrujemy, jak przeanalizować ciąg JSON za pomocą biblioteki RapidJson. RapidJson był pierwotnie zainspirowany przez RapidxML. W tym przykładowym programie analizujemy ciąg JSON w DOM. Oświadczyliśmy „MyDoc” typu „Dokument”, a następnie używając „myDoc.metoda parse () ”do analizowania ciągu JSON.
#włączać
#include "RapidJson/pisarz.H"
#include "RapidJson/Document.H"
#Include "RapidJson/StringBuffer.H"
używając przestrzeni nazw RapidJson;
int main ()
const char* json = „„ FirstName ”:„ Sean ”,„ LastName ”:„ Brown ”,„ Empid ”: 21453,
„dział”: „komputer SC.„”;
// Przejdź ciąg JSON w DOM
Dokumentuj mydoc;
mydoc.Parse (JSON);
// DOM do ciągu
Bufor Buffer;
Pisarzpisarz (bufor);
mydoc.Zaakceptuj (pisarz);
// Wydrukuj wyjście
STD :: Cout << buffer.GetString() << std::endl;
powrót 0;
Wniosek
W tym artykule krótko omówiliśmy dane JSON, obiekt, tablicę i składnię. Jak wiemy, nie ma natywnego rozwiązania parsowania danych JSON w C ++; Użyliśmy dwóch różnych bibliotek do analizowania danych JSON w C++. Przejrzeliśmy się do trzech różnych przykładów, aby zademonstrować mechanizm parsowania danych JSON w C++. W porównaniu do biblioteki „Nlohmann”, RapidJson jest mały, szybki i przyjazny pamięci.