JSON kütüphanesi
- C++ kursu
- İleri seviye
- Ders 51/83
- 5 dk
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
#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
#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
____ j;
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ü |