Json11 - सी ++ 11 के लिए एक छोटी JSON लाइब्रेरी है, जो JSON पार्सिंग और क्रमबद्धता प्रदान करता है।
लाइब्रेरी द्वारा प्रदान की गई मूल वस्तु json11 :: Json है। एक जेसन ऑब्जेक्ट किसी भी JSON मान का प्रतिनिधित्व करता है: शून्य, बूल, संख्या (int या double), स्ट्रिंग (std :: string), सरणी (std :: vector), या ऑब्जेक्ट (std :: map)।
जेसन ऑब्जेक्ट मूल्यों की तरह कार्य करता है। उन्हें समानता या आदेश की तुलना में आवंटित, प्रतिलिपि, स्थानांतरित किया जा सकता है, और इसी तरह। एक जेसन ऑब्जेक्ट के रूप में एक std :: स्ट्रिंग को पार्स करने के लिए जेसन :: पर्स (स्थिर) को जेसन :: पर्स (स्थिर) को क्रमबद्ध करने के लिए जेसन :: डंप भी सहायक तरीके हैं।
उदाहरण: -
const string simple_test =
R"({"k1":"v1", "k2":42, "k3":["a",123,true,false,null]})";
string err;
auto json = Json::parse(simple_test, err);
std::cout << "k1: " << json["k1"].string_value() << "\n";
PicoJSON एक छोटे से JSON पार्सर/सी के लिए serializer ++ निम्नलिखित गुणों के साथ है:
- हैडर फ़ाइल केवल
- कोई बाहरी निर्भरता (केवल का उपयोग करता है मानक सी ++ पुस्तकालय)
- एसटीएल-फ्रींडली (सरणी repr हैं std :: वेक्टर का उपयोग करके esented, वस्तुओं एसटीडी हैं :: नक्शा)
- दोनों पुल इंटरफेस और स्ट्रीमिंग प्रदान करता है (घटना पर आधारित) इंटरफ़ेस
उदाहरण:
std::string json1 = R"({ "k1":"v1", "k2" : 42, "k3" : ["a",123,true,false,null] })";
picojson::value v;
std::string err1 = picojson::parse(v, json1);
const picojson::object& o = v.get<picojson::object>();
for (picojson::object::const_iterator i = o.begin(); i != o.end(); ++i) {
std::cout << i->first << " " << i->second << std::endl;
}
दोनों आसानी से दृश्य में इस्तेमाल किया मानक पुस्तकालयों के साथ स्टूडियो (कोई अतिरिक्त निर्भरता नहीं)।
इसे आजमाएं: [Json11] (https://github.com/dropbox/json11) या [PicoJSON] (https://github.com/kazuho/picojson)। कोई बूस्ट नहीं – Sergo