JsonCpp 库如何集成到Visual studio

这是用于 在 C++ 中解析和生成 JSON 数据 的工具包,适合在需要与前端、网络、配置等 JSON 格式交互的 C++ 项目中使用。

Json(基于JsonCpp)

格式全称:JavaScript Object Notation

格式特点:

  1. 与开发语言无关
  2. 轻量级的数据存储格式
  3. 易于解析和封装
  4. 数据对象内部一般采用key-value模式来存储
  5. 支持数组、字符串、整数、小数、对象、布尔、空
  6. 可以用于数据传输、数据保存、数据交换

格式详解:

{

"name":"张三",

"age":18,

"身高":1.81,

"生日":"2002-01-02",

"学校":"北大青鸟",

"专业":["厨师","挖掘机"],

"单身":true,

"地址":null,

"好友":{...}

}

开源项目:

通用版本:(推荐)

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

Window专用版本:

https://github.com/Microsoft/vcpkg.git

vcpkg: https://github.com/Microsoft/vcpkg.githttps://gitee.com/yao_yu_qq/vcpkg

一、如何下载最简单方式:直接集成源代码(推荐给初学者)

步骤:

  1. 下载 JsonCpp 源码:

进入 GitHub 页面下载:

或者直接克隆:

复制代码
git clone https://github.com/open-source-parsers/jsoncpp.git

2.找到源代码文件夹:

  • 进入 jsoncpp/src/lib_json/,将以下文件复制到你的项目中:

  • json_reader.cpp

  • json_value.cpp

  • json_writer.cpp

  • json.h

  • json_forwards.h(新版本可能已经合并)

3.包含头文件 + 编译源码

在你的 C++ 项目中添加这些源文件,然后包含头文件:

复制代码
#include "json/json.h"

示例编译命令(假设使用 g++):

复制代码
g++ main.cpp json_reader.cpp json_writer.cpp json_value.cpp -o my_app

二、使用 vcpkg 自动安装(适合 Windows + VS 用户)

步骤:

1.安装 vcpkg(如果还没装):

复制代码
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat

2.安装 JsonCpp:

复制代码
.\vcpkg install jsoncpp

3.在你的项目中集成(以 Visual Studio 为例):

  • 在项目属性 → C/C++ → 常规 → 附加包含目录中添加:
    vcpkg\installed\x64-windows\include

  • 链接库目录也添加:
    vcpkg\installed\x64-windows\lib

4.在代码中使用:

复制代码
#include <json/json.h>

三、在 Visual Studio 项目中使用 JsonCpp

示例步骤:

1. 创建一个空的 Win32 控制台项目(或 CMake 项目也可以)
2. 添加以下测试代码:
复制代码
#include <iostream>
#include <json/json.h>

int main() {
    Json::Value person;
    person["name"] = "张三";
    person["age"] = 18;
    person["single"] = true;

    Json::StreamWriterBuilder writer;
    std::string json_output = Json::writeString(writer, person);

    std::cout << json_output << std::endl;
    return 0;
}
3. 直接编译运行(VS 会自动链接 JsonCpp)
相关推荐
Nerd Nirvana19 小时前
VSCode配置及问题解决一览
ide·vscode·编辑器·嵌入式开发·配置管理·vscode-server
MM_MS21 小时前
C# 线程与并发编程完全指南:从基础到高级带详细注释版(一篇读懂)
开发语言·机器学习·计算机视觉·c#·简单工厂模式·visual studio
AI视觉网奇1 天前
vscode 不能显示断点 2025
ide·vscode·编辑器
BD_Marathon1 天前
【IDEA】Debug(调试)
java·ide·intellij-idea
A_one20101 天前
vscode editor 基础行为配置
ide·vscode·编辑器
小龙报1 天前
【算法通关指南:数据结构与算法篇(五)】树的 “自我介绍”:从递归定义到存储绝技(vector vs 链式前向星)
c语言·数据结构·c++·算法·链表·启发式算法·visual studio
q***54751 天前
解决no main manifest attribute错误
ide·python·pycharm
羊仔AI探索1 天前
GLM-4.6接入Claude Code插件,国内丝滑编程
ide·人工智能·ai·aigc·ai编程
m0_490240671 天前
wsl+vscode
ide·vscode·编辑器
在天愿作比翼鸟在地愿为连理枝1 天前
宿主机使用VScode连接本地虚拟机
ide·vscode·编辑器