CodeBlanks Logo Icon CodeBlanks

JSON kütüphanesi

nlohmann/json ile JSON serileştirme öğrenirsin.

nlohmann/json nedir?

nlohmann/json, C++ için yaygın bir başlık dosyalı (header-only) JSON kütüphanesidir. Tek bir #include <nlohmann/json.hpp> ile kullanılır. JSON nesneleri nlohmann::json türüyle temsil edilir; alanlar j["anahtar"] = değer; biçiminde eklenir.

Örnek: nlohmann::json j; j["name"] = "Alex"; j["age"] = 30;. Bir diziye j["tags"] = {"a", "b"}; ile değer eklersin. j.dump() metodu JSON'u dize olarak verir. j.parse(str) ile bir dizeden JSON nesnesi oluşturursun. Bu kütüphane, text serileştirmeden daha yapılandırılmış bir yol sunar.

JSON oluşturma ve dump

Bir nlohmann::json nesnesi oluşturduktan sonra alanları köşeli parantezle eklersin. j.dump() metodu JSON'u hizalanmış olmayan bir dize olarak verir. j.dump(2) ise 2 boşluk girintili, okunabilir bir dize üretir.

Örnek: nlohmann::json j; j["name"] = "Alex"; j["age"] = 30; std::cout << j.dump();. Çıktı: {"age":30,"name":"Alex"}. Anahtarlar alfabetik sıralanır çünkü kütüphane varsayılan olarak std::map kullanır. Bir alanı okumak için j["name"] yeterlidir; dönüş türü otomatik belirlenir. Bu, yapılandırılmış veri için text serileştirmeden daha güvenlidir.

Uygulama JSON nesnesi oluştur ve yazdır

#include <nlohmann/json.hpp> ekle. nlohmann::json j; tanımla. j["name"] = "Alex"; ve j["age"] = 30; ata. std::cout << j.dump(); ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <string>

// nlohmann/json başlığını ve JSON nesnesini ekle

int main() {
    // JSON oluştur ve yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <nlohmann/json.hpp>

int main() {
    nlohmann::json j;
    j["name"] = "Alex";
    j["age"] = 30;
    std::cout << j.dump();
    return 0;
}

Beklenen çıktı

{"age":30,"name":"Alex"}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 nlohmann/json nasıl dahil edilir?

  • #include <json>
  • #include <std::json>
  • #include <nlohmann/json.hpp> Doğru cevap
  • #include <json/json.h>

Açıklama: #include <nlohmann/json.hpp> tek başlıkla kütüphaneyi kullanıma sunar.

2 JSON türünü tamamla

Soru
____ j;
Cevap
nlohmann::json j;

Açıklama: nlohmann::json bir JSON nesnesi tanımlar.

3 Parçayı rolüne eşle

Kavram Anlamı
j["name"] = "Alex" Alan ekler
j.dump() Dize üretir
j.dump(2) Girintili dize üretir
nlohmann::json JSON türü

İleri seviye bölümündeki tüm dersler