json11详细使用教程,持续更新!
Posted CodeBowl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json11详细使用教程,持续更新!相关的知识,希望对你有一定的参考价值。
json11详细使用教程,持续更新
json
JSON的全称是”javascript Object
Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。
json这里就不详细介绍了,看这个链接就可
json详解
json11
json11是一个轻量级的C++11库, 提供JSON的序列化和反序列化功能.
之前在解析json数据的时候,尝试了好几个json库,最终决定使用json11,主要有以下几个原因:
- json的通用功能
- 可以像使用C++类一样使用
- 中文不乱码,这是我选择这个库的主要原因
json11的github地址:json11.
基本使用
直接举自带单元测试test.cpp中的例子:
const string simple_test =
R"({"k1":"v1", "k2":42, "k3":["a",123,true,false,null]})";
string err;
const auto json = Json::parse(simple_test, err);
std::cout << "k1: " << json["k1"].string_value() << "\\n";
std::cout << "k3: " << json["k3"].dump() << "\\n";
for (auto &k : json["k3"].array_items()) {
std::cout << " - " << k.dump() << "\\n";
}
Json::parse可以解析string字符串生成Json对象,dump()则将Json对象格式化为字符串形式。
Json类提供了多种构造函数,用来构造Json对象:
const Json obj = Json::object({
{ "k1", "v1" },
{ "k2", 42.0 },
{ "k3", Json::array({ "a", 123.0, true, false, nullptr }) },
});
一些json11的具体操作
json11解析数组,并基于范围循环遍历
json
"( {"k1":"v1", "k2":42, "k3":["a",123,true,false,null]} )"
遍历其中的数组
conststd::string simple_test = R"( {"k1":"v1", "k2":42, "k3":["a",123,true,false,null]} )";
std::string err;
constauto json = json11::Json::parse(simple_test, err);
for (auto &k : json["k3"].array_items() )
{
std::cout <<" - " << k.dump() <<"\\n";
}“”
参考资料
以上是关于json11详细使用教程,持续更新!的主要内容,如果未能解决你的问题,请参考以下文章
超详细的 MySQL 学习教程(多实例附练习视频讲解持续更新)
超详细的 MySQL 学习教程(多实例附练习视频讲解持续更新)
如何使用 Unity制作微信小游戏,微信小游戏制作方案 最新完整详细教程来袭持续更新
如何使用 Unity制作微信小游戏,微信小游戏制作方案 最新完整详细教程来袭持续更新