jsoncpp使用

c++项目加入JsonCpp解析json

无人久伴 提交于 2020-03-02 12:15:15
1.去github下载jsonCpp jSONCpp地址 2.下载之后如图 3.执行python 脚本生成dist文件 4.将dist导入到c++项目中使用 5.具体使用方法 #include "json/json.h" #include "json-forwards.h" using namespace std; Json::Value json; Json::CharReaderBuilder builder; std::stringstream stream(strData); std::string errs; if (!Json::parseFromStream(builder, stream, &json, &errs)) { AfxMessageBox(_T("解析错误")); }else { std::string rescode = json.get("rescode", "UTF-8").asString(); std::string msg = json.get("msg", "UTF-8").asString(); std::cout << rescode << std::endl; if (rescode == "200") { const Json::Value dataDic = json["data"]; std::string liveIdTmp

json简介及JsonCpp用法

风流意气都作罢 提交于 2020-02-18 14:34:17
[时间:2017-04] [状态:Open] [关键词:数据交换格式,json,jsoncpp,c++,json解析,OpenSource] json简介 本文仅仅是添加我个人对json格式的理解,更详细的格式建议参考 官网的JSON介绍 及标准文档。 json中仅支持两种结构: name->value键值对(pair)的集合,一般称为对象(object)。 值的有序表,一般称为数组(array)。 1. pair 先从键值对(pair)开始,一个pair的通常结构是: string : value 键值之间的对应关系使用 : 表示,左边的为name,右边的为value。 一般key使用字符串,当然也可以使用数字,但是不推荐。 value的取值就比较随便,可以是任何任何json支持的类型(比如object,array,string,number,true/false,null等)。 2. object object可以认为是多个pair的集合,官网上给出的示意图如下: 其语法是以 { 作为object开始,以 } 作为object结束,不同的pair之间使用 , 分割。 需要说明的是object中的数据存储是无序的。 下面是一个比较典型的object构成 { "name" : "tocy", "age" : 1000 } 3. array array是value的有序集合

第三方库 jsoncpp 读写json

╄→尐↘猪︶ㄣ 提交于 2020-02-18 14:32:41
一、摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。 本文并不详细介绍 JSON 本身的细节,旨在讨论如何使用 C++ 语言来处理 JSON。关于 JSON 更具体的信息,可参见 JSON 官网: http://www.json.org 。 二、本文选择处理 JSON的 C++ 库 本文选择一个第三方库 jsoncpp 来解析 JSON。jsoncpp 是比较出名的 C++ JSON 解析库。在 JSON 官网也是首推的。 下载地址为: http://sourceforge.net/projects/jsoncpp 。本文使用的 jsoncpp 版本为:0.5.0。 三、jsoncpp 在 Windows 下的编译 要使用第三方源码库,第一步少不了的就是编译,将源码文件编译成我们方便使用的动态链接库、静态链接库或者静态导入库[1]。 jsconcpp 进行 JSON 解析的源码文件分布在 include/json、src/lib_json 下。其实 jsoncpp 源码并不多,为了方便产品管理,此处没必要将其编译为动态链接库或者静态导入库,所以我们选择使用静态链接库[2]。 jsoncpp 已经处理的很完善了

【华为云技术分享】【玩转Atlas200DK系列】应用开发之 交叉编译第三方库并在工程中使用(jsoncpp)

心已入冬 提交于 2020-01-29 04:33:10
在本案中,我们以jsoncpp为例来介绍如何交叉编译第三方库,并在工程中是使用; 1. 从github上下载jsoncpp源码 wget https://github.com/open-source-parsers/jsoncpp/archive/master.zip; 2. 配置源码的交叉编编译环境。在我们安装了DDK的服务器上,arm的编译器在/usr/bin目录下,所以我们在jsoncpp目录下的CMakelist.txt中添加: SET(CMAKE_SYSTEM_NAME Linux) SET(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc") SET(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++") SET(CMAKE_FIND_ROOT_PATH /usr/aarch64-linux-gnu/) SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 3. 在源码目录下执行下述命令,即可编译得到arm的libjsoncpp.so cd jsoncpp

Jsoncpp用法小结 VS2019

南笙酒味 提交于 2020-01-22 08:30:20
Jsoncpp用法小结 VS2019 从字符串中解析JSON 从文件中解析JSON 将JSON写入文件 输出JSON字符串 最近工作需要用到JSON解析,使用过程中遇到了几个问题,觉得有必要总结一下 从字符串中解析JSON const char* str = "{\"uploadid\": \"UP000000\",\"code\": 100,\"msg\": \"\",\"files\": \"\"}"; Json::CharReaderBuilder b; Json::CharReader* reader(b.newCharReader()); Json::Value root; JSONCPP_STRING errs; bool ok = reader->parse(str, str + strlen(str), &root, &errs); std::string upload_id; int code = 0; if (ok && errs.size() == 0) { upload_id = root["uploadid"].asString(); // 访问节点,upload_id = "UP000000" code = root["code"].asInt(); // 访问节点,code = 100 } else { cout << "ok=" << ok << "

使用 C++的第三方库 jsoncpp的步骤以及出现的问题

喜欢而已 提交于 2019-12-24 22:09:47
Jsoncpp 是一个json解析库 下载地址为: http://sourceforge.net/projects/jsoncpp/ 方法一:使用Jsoncpp生成的lib文件 解压上面下载的Jsoncpp文件,在jsoncpp-src-0.5.0/makefiles/vs71目录里找到jsoncpp.sln,用VS2008版本编译,默认生成静态链接库。 在工程中引用,只需要包含include/json下的头文件及生成的.lib文件即可。 如何包含lib文件:在.cpp文件中#pragma comment(lib.“json_vc71_libmt.lib”),在工程属性中Linker下Input中Additional Dependencies写入lib文件名字(Release下为json_vc71_libmt.lib,Debug为json_vc71_libmtd.lib) 注意:Jsoncpp的lib工程编译选项要和VS工程中的编译选项保持一致。如lib文件工程编译选项为MT(或MTd),VS工程中也要选择MT(或MTd),否则会出现编译错误问题,debug和release下生成的lib文件名字不同,注意不要看错了,当成一个文件来使用 但是在使用过程中 提示 类似这样的错误 “../../build/vs71/release/lib_json\json_value.asm”: No

[C++] JsonCPP 的使用 完整配置过程

匿名 (未验证) 提交于 2019-12-03 00:09:02
最近准备开发一个程序 需要用到C++ 解析json 原始的C++解析json是不现实的 自己也写不出来json解析方法(主要是不靠谱) 所以找到了jsoncpp 这个库 但是。。。 因为各种原因 配置的让我想哭 接下来我来分享一下 我配置这个库的过程吧 首先发现了这个博文(感谢) https://www.cnblogs.com/esCharacter/p/7657676.html#commentform 从这个博文中找到了json的项目地址 然后下载了下来 https://github.com/open-source-parsers/jsoncpp 得到了这样的目录 接着,按照博文说的开始构建 dist... 这里需要安装python 我的电脑已经安装好了 直接运行那个命令 python amalgamate . py    发现会失败...   会提示找不到一个文件...   去看了github上面的iss 然后知道需要先cmake 一下   但是那个提出解决方案的人是ubuntu 的操作系统 在windows下默认是没有cmake的   我就想到了我的vs2019似乎是有这个文件的 在 vs的安装目录下直接搜索 cmake.exe 然后找到了 打开这个文件所在位置    cmd 切换目录到 jsoncpp源码根目录 拖动cmake.exe 到cmd窗口 输入一个空格

[转] cmake源码编译安装jsoncpp

匆匆过客 提交于 2019-11-29 03:24:51
1、下载jsoncpp源码 wget https://github.com/open-source-parsers/jsoncpp/archive/master.zip 2、解压缩源码文件 unzip -x master.zip 3、cmake源码安装jsoncpp https://github.com/open-source-parsers/jsoncpp/wiki/Building cd jsoncpp-master mkdir -p ./build/debug cd ./build/debug cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_INCLUDEDIR=include/jsoncpp -DARCHIVE_INSTALL_DIR=. -G "Unix Makefiles" ../.. sudo make && make install 安装时使用sudo仍然提示权限问题,最后直接切换root make && make install 安装成功 来源: https://www.cnblogs.com/lyggqm/p/11442926.html