首页 > 编程语言 >c/c++ jsoncpp的基本使用

c/c++ jsoncpp的基本使用

时间:2024-07-23 15:59:49浏览次数:14  
标签:基本 jsonValue cout 示例 c++ sex jsoncpp

一、概述

  jsoncpp官网

  作用:在c++中可以方便的组装及解析json格式的数据。

二、代码示例

void MyJsonCpp::toJsonStr() {
    Json::Value jsonValue;
    jsonValue["username"] = "luoluoyang";
    jsonValue["password"] = "123456";
    jsonValue["age"] = 6;
    jsonValue["sex"] = "man";
    cout << "toJsonStr=" << jsonValue.toStyledString().c_str() << endl;
}

void MyJsonCpp::parseJson() {
    //字符串
    string str = "{\"name\":\"shuiyixin\",\"age\":21,\"sex\":\"man\"}";
    //声明类的对象
    Json::Reader reader;
    Json::Value root;
    //从字符串读取数据
    if (reader.parse(str, root)) {
        string name = root["name"].asString();
        int age = root["age"].asInt();
        string sex = root["sex"].asString();
        cout << root.toStyledString() << endl;
    }
}

void MyJsonCpp::writeFileJson() {
    //根节点
    Json::Value root;
    root["name"] = Json::Value("LOL");
    root["age"] = Json::Value("18");
    root["sex"] = Json::Value("male");
    //子节点
    Json::Value bro;
    bro["friend_name"] = "德玛西亚";
    bro["friend_age"] = Json::Value("18");
    bro["friend_sex"] = "男";
    root["friend"] = Json::Value(bro);
    cout << root.toStyledString() << endl;

}

 

标签:基本,jsonValue,cout,示例,c++,sex,jsoncpp
From: https://www.cnblogs.com/tony-yang-flutter/p/18318629

相关文章

  • 三种语言实现计算逆序对的数量(C++/Python/Java)
    题目给定一个长度为......
  • 三种语言实现归并排序(C++/Python/Java)
    题目给定你一个长度为......
  • 力扣209. 长度最小的子数组C++、窗口写法
    给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl,numsl+1,...,numsr-1,numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例1:输入:target=7,nums=[2,3,1,2,4,3]......
  • 数组基本概念
    1.什么是数组2.一维数组的创建和初始化3.一维数组的使用4.⼀维数组在内存中的存储5.sizeof计算数组元素个数6.⼆维数组的创建7.⼆维数组的初始化8.⼆维数组的使⽤9.⼆维数组在内存中的存储1.什么是数组数组是⼀组相同类型元素的集合1.数组中存放的是1个或者多个......
  • 三种语言实现快速选择(C++/Python/Java)
    题目给定一个长度为......
  • C++11 智能指针之shared_ptr
    1.背景基于Alexa的全链路智能语音SDK基于C++实现了跨平台特性,跑通了Android、Mac、Linux等设备,在兼容iOS时发现iOS未提供音频采集和播放的C++接口,所以需要改造SDK,允许SDK初始化时注入外部的采集器和播放器实现类,同时SDK中的Android播放器是基于ffmpeg解码+opensl实现,但......
  • C++11 智能指针之shared_from_this
    shared_ptr作用:C++中采用new和delete来申请和释放内存,如果管理不当,很容易出现内存泄露;std::shared_ptr,std::unique_ptr,std::weak_ptr,三种智能指针类,可以自动管理内存使用示例:智能指针对象和一般的指针用法几乎完全相同#include<iostream>#include<memory>//需......
  • C++多线程并发基础入门教程
    C++多线程并发基础入门教程《C++ConcurrencyinAction,SecondEdition》这本书深入浅出的讲解了C++多线程知识;如果英文水平足够好,可以查阅英文原版,它也有中文译本,虽然翻译过来的质量不如原版,但英文原版阅读太费精力;我推荐新手或者有一定经验的人看这本书。1什么是C++多......
  • Qt与C++标准的兼容之旅
    第一章:Qt与C++:相互成就的技术演进Qt,作为一个跨平台的应用程序和用户界面框架,自其诞生之初便与C++紧密相连。C++,一种广泛使用的高级编程语言,以其高效的性能和面向对象的特性在软件开发中占据重要地位。在探讨Qt与C++之间的关系时,我们不仅是在分析技术层面的互动,更是在审视一......
  • C++数据类型
    基本数据类型(PrimitiveDataTypes)整数类型(IntegerTypes)int:用于表示整数,大小通常为4字节(32位),范围约为-2,147,483,648到2,147,483,647。inta=10;short:表示较小的整数,通常为2字节(16位),范围约为-32,768到32,767。shortb=100;long:表示较大的整数,通......