C++库libjsoncpp使用

本文介绍使用C++库jsoncpp进行JSON数据的解析与封装方法。内容涵盖库的编译配置、不同类别的JSON操作类及其使用示例,并特别强调了推荐使用的类以避免警告。

前言


1. C 库Json解析

link

2. C++ libjsoncpp.a解析

2-1. 下载和编译

jsoncpp

ARM交叉编译:
1. tar xvzf jsoncpp-src-0.5.0.tar.gz
2. mkdir arm_jsoncpp;cp include arm_jsoncpp -r;cp src/lib_json/* arm_jsoncpp;cd arm_jsoncpp
3. 编译静态库: aarch64-himix100-linux-g++ -c *.cpp -I./include -fPIC; ar cr libjsoncpp.a *.o
4. 编译动态库: aarch64-himix100-linux-g++ -shared -fPIC *.cpp -I./include -o libjsoncpp.so

使用脚本编译(将3,4步拎出来编写个脚本),命名为build.sh:

#!/bin/sh

if [ "$1" == "a" ];then
    echo -e "\033[1;32m编译静态库.\033[0m"
    aarch64-himix100-linux-g++ -c *.cpp -I./include ;ar rcs libjsoncpp.a *.o;rm *.o


elif [ "$1" == "so" ];then
    echo -e "\033[1;32m编译动态库.\033[0m"
    aarch64-himix100-linux-g++ -shared -fPIC *.cpp -I./include -o libjsoncpp.so
else
    echo -e "默认编译静态库"
    aarch64-himix100-linux-g++ -c *.cpp -I./include ;ar rcs libjsoncpp.a *.o

fi

执行sh build.sh a表示编译为静态库,sh build.sh so表示编译动态库

2-2. 使用Json::FastWriter封JSON包(不推荐)

该方式不推荐,因为会报如下警告信息:

json.cpp: In function 'int main()':
json.cpp:8:19: warning: 'FastWriter' is deprecated: Use StreamWriterBuilder instead [-Wdeprecated-d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值