zoukankan      html  css  js  c++  java
  • JSONCPP学习笔记

    基本使用

    使用jsoncpp库解析、修改、打印JSON串

    源文件

    $ cat main.cpp
    #include <iostream>
    #include "json/json.h"
    
    using namespace std;
    
    const char *style = "{ 
        "encoding" : "UTF-8", 
        "plug-ins" : [ 
            "python", 
            "c++", 
            "ruby" 
            ], 
        "indent" : {"length" : 3, "use_space": true } 
    }";
    
    int main()
    {
        Json::Reader reader;
        Json::Value root;
        if (!reader.parse(style, root))
        {
            cout << "parse fails." << endl;
            return -1;
        }
    
        // 基础数据的读取
        std::string encoding = root.get("encoding", "GBK" ).asString();
        cout << "encoding : " << encoding << endl;
        // 列表数据的读取
        const Json::Value plugins = root["plug-ins"];
        cout << "plug-ins : [ ";
        for ( int index = 0; index < plugins.size(); ++index )
        {
            cout << plugins[index].asString();
            if (index != plugins.size())
                cout << ", ";
        }
        cout << " ]" << endl;
        // 对象数据的读取和修改
        root["indent"]["length"] = 4;
        root["indent"]["use_space"] = false;
    
        // 打印修改后的JSON串
        cout << "Json after modify:" << endl;
        Json::StyledStreamWriter output;
        output.write(std::cout, root);
    }
    
  • 相关阅读:
    vue-amap地图组件的使用
    数据分析
    爬虫之scrapy框架
    爬虫之selenium
    记录一下最近的pwn
    内核提权姿势笔记
    CVE-2016-5343分析
    CVE-2015-8660分析
    Docker远程访问get(root)shell姿势
    Linux内核ROP学习
  • 原文地址:https://www.cnblogs.com/silvermagic/p/9087635.html
Copyright © 2011-2022 走看看