C++引入json库(Clion)

C++引入json库

环境Mac+Clion
首先,准备cppjson文件。
GitHub上拔下来。
github地址:https://github.com/open-source- parsers/jsoncpp#generating-amalgamated-source-and-header

step1:

将jsoncpp下的include和lib文件夹放入c++项目根目录下,如下:
图一
在这里插入图片描述

step2

接下来需要找到三个文件夹:
1. include
2. lib
3. include/json
复制其路径放入c++项目下的CMakeLists.txt文件里。如下

include_directories("/usr/local/jsoncpp/1.9.5/include")
include_directories("/usr/local/jsoncpp/1.9.5/include/json")
include_directories("/usr/local/jsoncpp/1.9.5/lib")


set(CMAKE_CXX_STANDARD 14)

add_executable(json_test main.cpp)

target_link_libraries(json_test /usr/local/jsoncpp/1.9.5/lib/libjsoncpp.25.dylib)

step3

使用一下代码测试:

#include <iostream>
#include "json/json.h"
using namespace std;

int main()
{
    Json::Value write_value;
    write_value["id"] = 123;
    write_value["name"] = "James";
    string str_json = write_value.toStyledString();

     Json::Reader reader;
     Json::Value read_value;

     if (reader.parse(str_json, read_value))
     {
         if (!read_value["id"].isNull())
         {
             cout << read_value["id"].asInt() << endl;
             cout << read_value["name"].asString() << endl;
         }
     }
     return 0;
}

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
ASIO是一款跨平台的C++网络编程,广泛应用于网络通信相关的软件开发。C工程引入ASIO可以为工程提供丰富的网络编程功能和高性能的网络通信能力。 首先,我们需要在C工程中引入ASIO。ASIO提供了头文件和文件供我们使用。我们将ASIO的头文件包含到我们的工程中,以便能够使用ASIO提供的API函数。此外,我们还需要将ASIO的文件链接到我们的工程中,以便在编译和链接阶段能够正确地使用ASIO的功能。 接下来,我们可以在C工程中使用ASIO提供的各种网络编程功能。ASIO提供了丰富的API函数,比如可以创建和管理网络连接、进行数据传输、处理网络事件等。我们可以根据自己的需求,选择合适的API函数来完成网络通信相关的任务。 使用ASIO时,需要注意的一点是,ASIO是基于事件驱动的,所以我们需要使用事件循环来处理网络事件。我们可以使用ASIO提供的事件循环机制,来接收网络数据、发送网络数据和处理网络事件,以保证网络通信的正常进行。 总的来说,C工程引入ASIO可以帮助我们实现高性能的网络通信功能。通过使用ASIO提供的API函数和事件循环机制,我们可以方便地进行网络编程,并实现各种网络通信相关的功能。ASIO的跨平台特性也使得我们能够在不同的操作系统上进行网络编程,提高了工程的可移植性和灵活性。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐大队队长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值