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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址