Jsoncpp cmake安装教程及测试用例

2024-02-06 20:08

本文主要是介绍Jsoncpp cmake安装教程及测试用例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简单的介绍

JSON是一种轻量级的数据交换格式。它可以表示数字、字符串、有序的值序列和名称/值对的集合。

JsonCpp是一个c++库,允许对JSON值进行操作,包括对字符串进行序列化和反序列化。它还可以在非序列化/序列化步骤中保存现有的注释,使其成为存储用户输入文件的一种方便的格式。

下载

github 地址:https://github.com/open-source-parsers/jsoncpp

安装

  1. 解压
  2. cd jsoncpp-master/
  3. mkdir -p build/debug
  4. cd build/debug
  5. cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DARCHIVE_INSTALL_DIR=. -G "Unix Makefiles" ../..
  6. make
  7. cd src/lib_json
  8. cp libjsoncpp.a /usr/lib
  9. cd ../../../../include
  10. cp -r json/ /usr/include
  11. 运行如下测试文件

测试文件

此文件转自https://www.cnblogs.com/fengbohello/p/4059435.html

原代码有些遗漏,不能直接运行,更改后如下:

#include <iostream>
#include <string>
#include <json/json.h>void readJson();
void writeJson();int main(int argc, char** argv) {readJson();writeJson();return 0;
}void readJson() {using namespace std;std::string strValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";Json::Reader reader;Json::Value value;if (reader.parse(strValue, value)){std::string out = value["name"].asString();std::cout << out << std::endl;const Json::Value arrayObj = value["array"];for (unsigned int i = 0; i < arrayObj.size(); i++){if (!arrayObj[i].isMember("cpp")) continue;out = arrayObj[i]["cpp"].asString();std::cout << out;if (i != (arrayObj.size() - 1))std::cout << std::endl;}}
}void writeJson() {using namespace std;Json::Value root;Json::Value arrayObj;Json::Value item;item["cpp"] = "jsoncpp";item["java"] = "jsoninjava";item["php"] = "support";arrayObj.append(item);root["name"] = "json";root["array"] = arrayObj;root.toStyledString();std::string out = root.toStyledString();std::cout << out << std::endl;
}

 

编译

g++ jsonTest.cpp -o jsonTest -std=c++11 -ljsoncpp

结果

json
jsoncpp
{"array" :[{"cpp" : "jsoncpp","java" : "jsoninjava","php" : "support"}],"name" : "json"
}

 

这篇关于Jsoncpp cmake安装教程及测试用例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685405

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示