jsonecho

JSON till C++

Klistra in ett JSON-exempel för att skapa motsvarande C++-typer.

Laddar verktyget...

Så använder du JSON till C++

  1. Klistra in ett representativt JSON-exempel, helst med alla valfria fält ifyllda.
  2. Ange rottypens namn och välj om du vill ha hjälpkod också eller bara typerna.
  3. Kopiera den genererade C++-koden till ditt projekt.

Om JSON till C++

Att skriva modellklasser för hand för stora JSON-data är tidskrävande, och det är lätt att göra skrivfel. Klistra in ett exempel här, så identifierar generatorn strukturen: vilka fält som finns, vilka som är objekt eller arrayer och vilken datatyp varje värde har. Resultatet är structar i namnrymden quicktype, med funktionerna from_json och to_json för biblioteket nlohmann/json.

Resultatet kräver biblioteket nlohmann/json i en enda headerfil samt ett litet hjälpblock för valfria värden, som ingår i resultatet. Allt körs i din webbläsare, så dina exempeldata stannar på din enhet.

Använd den genererade koden

Inkludera nlohmann json header, då auto root = nlohmann::json::parse(text).get<quicktype::Root>();.

Tillvalsmedlemmar använder std::shared_ptr<T> och är nolla när nyckeln saknas.

Vanliga frågor

Vilka beroenden har den genererade C++-koden?

Resultatet är structar i namnrymden quicktype, med funktionerna from_json och to_json för biblioteket nlohmann/json.

Hur analyserar jag JSON med resultatet?

Inkludera nlohmann json header, då auto root = nlohmann::json::parse(text).get<quicktype::Root>();.

Hur hanteras valfria fält och fält som saknas?

Tillvalsmedlemmar använder std::shared_ptr<T> och är nolla när nyckeln saknas.

Undersöker generatorn mer än en post?

Generatorn känner bara till det som finns i ditt exempel. Fält som saknas i exemplet kommer inte med i typerna. Om ett värde är null i exemplet går det inte att avgöra dess typ. Klistra in ett exempel där så många fält som möjligt är ifyllda, eller en array med flera olika poster.

Skickas min JSON till en server?

Nej. Första gången du använder generatorn laddas den ner till din webbläsare, cirka 1 MB. Sedan körs allt lokalt.

Fler verktyg i Data till klasser

Alla verktyg →