C++ 解析json串
首先, C++ 解析json串,需要用到第三方库(json_vc71_libmtd.lib)。然后,VS2010,创建项目json_read,配置项目属性。最后,拷贝下面的代码就可以看到效果了。
#include "stdafx.h"
#include "../json/include/json.h" int _tmain(int argc, _TCHAR* argv[])
{
const char * str = "{\"machineCode\":\"20:20:20:20:20:20:57:4c:31:30:59:31:4d:56\",\"makeTime\":1534485879,\"sysCapacity\":{\"rptMaxNum\":2},\"trialTime\":30}";
printf("json 串:%s\n", str); Json::Reader reader;
Json::Value root;
if(reader.parse(str,root))
{
std::string machineCode = root["machineCode"].asString();
long long makeTime = root["makeTime"].asUInt();
int rptMaxNum = root["rptMaxNum"].asInt();
int trialTime = root["trialTime"].asInt(); printf("解析json串之后的值:\n");
printf("machineCode = %s\n",machineCode.c_str());
printf("makeTime = %ld\n",makeTime);
printf("rptMaxNum = %d\n",rptMaxNum);
printf("trialTIme = %d\n",trialTime); Json::Value & sysCapacity = root["sysCapacity"];
int rpt = sysCapacity["rptMaxNum"].asInt();
printf("rptMaxNum = %d\n",rpt);
}
system("pause");
return ;
}
附I:json在线格式化工具
附II:项目用到第三方库资源,有库,有头文件的时候,建议分类创建一个文件夹,便于阅读和重用。

附录III:运行结果

C++ 解析json串的更多相关文章
- 怎么解析json串在.net中
以前知道一种解析json串的方法,觉得有点麻烦.就从别的地方搜到了另一种 string json = vlt.getlist(); JObject jo = JObject.Parse(json); ...
- 在.net中怎么解析json串 [Error reading JObject from JsonReader. Current JsonReader item is not an obj]
编辑时间:2017-05-10,增加一种转化list的方法 一.以前知道一种解析json串的方法,觉得有点麻烦.就从别的地方搜到了另一种 string json = vlt.getlist(); JO ...
- SpringMVC Jackson 库解析 json 串属性名大小写自动转换问题
问题描述 在项目开发中,当实体类和表中定义的某个字段为 RMBPrice,首字母是大写的,sql 查询出来的列名也是大写的 RMBPrice,但是使用 jquery 的 ajax 返回请求响应时却出错 ...
- java解析json串获取key和value
网上例子巨多,纯属个人笔记: JSONObject maleArray = maleObject.getJSONObject("extension"); Iterator<S ...
- JavaScript中使用eval()方法解析json串
最近在js用到了eval()方法,在这里做个笔记 当时是这么用的:data = eval("("+data+")"); data为后台向前台传送的一个json串 ...
- ANDROID_MARS学习笔记_S02_013_Gson解析json串
1.MainActivity.java package com.json; import java.io.IOException; import java.io.StringReader; impor ...
- 使用jackson解析json串得到树模型,然后遍历树模型获得需要的数据
Problem:从网址 http://quotes.money.163.com/hs/service/marketradar_ajax.php?host=http%3A%2F%2Fquotes.mon ...
- 解析json串,利用正则表达式,split
public class SplitJson { public static void main(String[] args) { // TODO Auto-generated meth ...
- iOS 解析json串
NSString *json = @"[{\"name\":\"a1\",\"items\":[{\"x1\" ...
随机推荐
- 闭区间套定理(Nested intervals theorem)讲解2
①确界与极限,看完这篇你才能明白 http://www.cnblogs.com/iMath/p/6265001.html ②这个批注由这个问题而来 表示$c$可能在$\bigcap_{n=1}^{\i ...
- MySQL命令:增删与改
首先是对数据库的修改: --删除一个叫bbb111的数据库 DROP DATABASE bbb111; 对某数据库里一个表的修改: 重命名一张表 -- 三种效果一样的形式 RENAME TABLE 原 ...
- 直和 direct sum
小结: 1.xy平面 与 直和 https://en.wikipedia.org/wiki/Direct_sum For example, the xy-plane, a two-dimension ...
- [development][C] linux 设置线程名称
两个API, 都是linux的. 不是POSIX, 是GNU? 傻傻搞不清楚. 1. pthread_setname_np / pthread_setname_np 2. ptctl 带 PR_GE ...
- 关于字符串的简单dp
看这道题题目叫做魔族密码多新奇的名字点开是道字符串的dp,思考然后想出lis其实但字符串之间的比对只有循环然后其实循环爆不了,太懒点开了题解发现有人使用stl——cstring的函数了方便多了,借鉴一 ...
- 查找->动态查找表->B+树(无代码)
文字描述 B+树定义 B+树是应文件系统所需而出的一种B-树的变型树.一棵m阶的B+树和m阶的B-树的差异在于: (1)有n棵子树的结点中含有n个关键字 (2)所有的叶子结点中包含了全部关键字的信息, ...
- ORACLE INSTANCE与EM系统
Emctl start dbconsole https://192.168.183.132:1158/em/ 复制到游览器进入到em 更改初始化参数值 静态参数: -只能在参数文件中更改 -必须重新启 ...
- LeetCode 762 Prime Number of Set Bits in Binary Representation 解题报告
题目要求 Given two integers L and R, find the count of numbers in the range [L, R] (inclusive) having a ...
- 新建oracle用户
1.oracle 账户登录linux:2.如果存在多个切换实例:命令:export ORACLE_SID=实例名:如:export ORACLE_SID=utf81863.切换至管理员账户:sqlpl ...
- linux新增动态库后可执行程序找不到的问题
linux为了加快程式执行时对共享库的定位速度,避免使用搜索路径查找共享库的低效率,所以是直接读取库列表文档 /etc/ld.so.cache 从中进行搜索./etc/ld.so.cache 是个非文 ...