开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 6

lvyh/SampleCode

forked from Tocy/SampleCode
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
main.cpp 4.45 KB
一键复制 编辑 原始数据 按行查看 历史
/*
This is a part of Tocy's Sample Code
demo to use JsonCpp
https://github.com/open-source-parsers/jsoncpp
*/
#include <iostream>
#include <string>
#include <fstream>
#include <cassert>
#include "json/json.h"
using namespace std;
// =========================== parse-json ==================================
void demo_simple()
{
ifstream ifs;
ifs.open("checkjson.json");
/*
In this file, its content is : (key-value)
{
"name" : "tocy",
"age" : 1000
}
*/
assert(ifs.is_open());
Json::Reader reader;
Json::Value root;
if (!reader.parse(ifs, root, false))
{
cerr << "parse failed \n";
return;
}
string name = root["name"].asString();
int age = root["age"].asInt();
cout << "demo read from filet result =============\n";
cout << "name : " << name << endl;
cout << "age : " << age << endl;
cout << endl;
ifs.close();
}
void demo_parse_mem_object()
{
const char json_data[] =
"{\"name\" : \"Tocy\", \"salary\" : 100, \"msg\" : \"work hard\", \
\"files\" : [\"1.ts\", \"2.txt\"]}";
Json::Reader reader;
Json::Value root;
// reader将Json字符串解析到root,root将包含Json里所有子元素
if (!reader.parse(json_data, json_data + sizeof(json_data), root))
{
cerr << "json parse failed\n";
return;
}
cout << "demo read from memory using object ---------\n";
string name = root["name"].asString();
int salary = root["salary"].asInt();
string msg = root["msg"].asString();
cout << "name: " << name << " salary: " << salary;
cout << " msg: " << msg << endl;
cout << "enter files: \n";
Json::Value files = root["files"]; // read array here
for (unsigned int i = 0; i < files.size(); ++i)
{
cout << files[i].asString() << " ";
}
cout << endl << endl;
}
void demo_parse_mem_array()
{
const char json_data[] =
"[{\"name\" : \"Tocy\", \"salary\" : 100}, {\"name\" : \"Kit\", \"salary\" : 89}, \
\"a json note\"]";
Json::Reader reader;
Json::Value root;
// reader将Json字符串解析到root,root将包含Json里所有子元素
if (!reader.parse(json_data, json_data + sizeof(json_data), root))
{
cerr << "json parse failed\n";
return;
}
cout << "demo read from memory using array---------\n";
unsigned int count = root.size() - 1;
for (unsigned int i = 0; i < count; ++i)
{
string name = root[i]["name"].asString();
int salary = root[i]["salary"].asInt();
cout << "name: " << name << " salary: " << salary << endl;
}
cout << "last msg: " << root[count].asString() << endl;
cout << endl << endl;
}
// =================== save-json =====================================
void demo_write_simple()
{
Json::Value root;
Json::FastWriter writer;
Json::Value person;
person["name"] = "tocy";
person["age"] = 1000;
root.append(person);
string json_file = writer.write(root);
cout << "demo write json ==============\n";
cout << json_file << endl;
}
void demo_write_object()
{
Json::Value root;
Json::FastWriter writer;
root["name"] = "tocy";
root["salary"] = 100;
root["msg"] = "work hard";
Json::Value files;
files[0] = "1.ts";
files[1] = "2.txt";
root["files"] = files;
string json_file = writer.write(root);
cout << "demo write json object ==============\n";
cout << json_file << endl;
}
void demo_write_array()
{
Json::Value root;
Json::FastWriter writer;
{
Json::Value person;
person["name"] = "Tocy";
person["salary"] = 100;
root[0] = person;
}
{
Json::Value person;
person["name"] = "Kit";
person["salary"] = 89;
root[1] = person;
}
root[2] = "a json note";
string json_file = writer.write(root);
cout << "demo write json ==============\n";
cout << json_file << endl;
}
int main(int argc, char * argv[])
{
demo_simple();
demo_parse_mem_object();
demo_parse_mem_array();
cout << "\n\nnext are write json example\n================================\n";
demo_write_simple();
demo_write_object();
demo_write_array();
return 0;
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

个人使用的示例代码管理
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/testos/SampleCode.git
git@gitee.com:testos/SampleCode.git
testos
SampleCode
SampleCode
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /