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 0;
}

附I:json在线格式化工具

附II:项目用到第三方库资源,有库,有头文件的时候,建议分类创建一个文件夹,便于阅读和重用。

附录III:运行结果

原文地址:https://www.cnblogs.com/azbane/p/10175664.html

时间: 2024-08-18 10:19:47

C++ 解析json串的相关文章

序列化后的json串与解析json串实体间的关系

一般用一个实体去解析一个json串通常会存在以下几种情况: 1.序列化成json的实体属性多于解析json串的实体属性. 2.解析json串的实体属性多于序列化成json的实体属性. 3.序列化成json串的实体类与解析json串的实体类名字不一致. 4.序列化成json串的实体的属性跟解析json串实体属性类型不一致,但名字一致. 5.是否任意一个实体都可以解析json串. 以下是实验的例子: 1.序列化成json的实体属性多于解析json串的实体属性. 这是序列化成json的实体类型. pu

解析json串,利用正则表达式,split

public class SplitJson { public static void main(String[] args) {        // TODO Auto-generated method stub     String str = "[{\"version\":\"100\"},{\"type\":\"210\"},{\"chanl_no\":\"30\"},

Java用JSONObject-lib来解析json串

直接贴代码:(所需jar包:json-lib.jar,可能会关联一些其它的jar包,请自行搜索.) import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class

java解析json串

Java code ? 1 {"weatherinfo":{"city":"北京","cityid":"101010100","temp1":"-8℃","temp2":"4℃","weather":"晴","img1":"n0.gif","

ANDROID_MARS学习笔记_S02_015_Gson解析json串为对象集合

package com.example.s02_e12_json3; import java.lang.reflect.Type; import java.util.Iterator; import java.util.LinkedList; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; impor

android下基本json串的生成与解析

以前就用过json串,不过是在java环境下面,如今转移到android环境下,java里面生成解析json串的jar包与android中自带的冲突,所以也只能用安卓自带的. 先前查网上的资料,感觉很多都说的很乱,直接给出了例子,也不解释一下就算完成,他们自己肯定是明白的,但是让读者理解起来肯定有点难度.而且解析的方法很多,而这里,我就介绍一种最原始最简单的吧.希望我拙劣的表达能力不会影响到你们的理解. 首先我们先讲一下json串格式 比如对象pet(宠物) class pet{ int pet

使用Gson解析Json数组遇到的泛型类型擦除问题解决方法

谷歌Gson转换Json串有如下方法: public Object fromJson(String json, Type typeOfT); 可以使用它进行数组解析.如下,使用此方法解析Json串为类型MyBean的List数组,方法可用. List<MyBean> lst = new Gson().fromJson(data, new TypeToken<List<MyBean>>(){}.getType()); 但如果把MyBean改为泛型T,封装此方法为如下: L

Swift: Alamofire -&gt; http请求 &amp; ObjectMapper -&gt; 解析JSON

1 2 3 4 5 6 7 8 9 10 11 NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"]; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:URL.absoluteString parameters:nil     progress:nil     success:^(NS

Swift: 用Alamofire做http请求,用ObjectMapper解析JSON

演示样例代码看最后. 跟不上时代的人突然间走在了时代的前列,果然有别样的风景.首先歧视一下AFNetworking.这个东西实在太难用了.不想封装都不行,要不写一大堆代码. NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"]; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:URL.