栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 使用Poco库操作 json 文件

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 使用Poco库操作 json 文件

C++ 使用Poco库操作 json 文件

flyfish

#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char** argv)
{

    std::string json = "{ "name" : "Franky", "children" : [ "Jonas", "Ellen" ] }";

    Poco::JSON::Parser parser;
    Poco::Dynamic::Var result = parser.parse(json);
    std::cout<
    //      "children": [
    //        "Jonas",
    //        "Ellen"
    //      ],
    //      "name": "Franky"
    //    }

    Poco::JSON::Object::Ptr pObject = result.extract();
    std::string name = pObject->getValue("name");
    std::cout<getArray("children");
    for (int i = 0; i < pChildren->size(); i++)
    {

        Poco::Dynamic::Var element = pChildren->get(i);

        std::cout<
    //      "root_0": {
    //        "id": 1,
    //        "name": "a"
    //      },
    //      "root_1": [
    //        {
    //          "id": "1",
    //          "name": "a"
    //        },
    //        {
    //          "id": "2",
    //          "name": "b"
    //        }
    //      ]
    //    }

}

cmakelist.txt的配置

cmake_minimum_required(VERSION 3.5)

project(test LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)




# set the POCO paths and libs
set(POCO_PREFIX "/usr/local") # the directory containing "include" and "lib"
set(POCO_INCLUDE_DIR"${POCO_PREFIX}/include")
set(POCO_LIB_DIR "${POCO_PREFIX}/lib")
set(POCO_LIBS
        "${POCO_LIB_DIR}/libPocoNet.so"
        "${POCO_LIB_DIR}/libPocoUtil.so"
        "${POCO_LIB_DIR}/libPocoFoundation.so"
        "${POCO_LIB_DIR}/libPocoNetSSL.so"
        "${POCO_LIB_DIR}/libPocoDataSQLite.so"
        "${POCO_LIB_DIR}/libPocoData.so"
        "${POCO_LIB_DIR}/libPocoXML.so"
        "${POCO_LIB_DIR}/libPocoJSON.so")


add_executable(example
  main.cpp
)
target_link_libraries(example "${POCO_LIBS}")

操作json文件

std::ostringstream ostr;
std::string file_path="/media/read_0.json";
Poco::File input(file_path);
if ( input.exists() )
{
    Poco::FileInputStream fis(file_path);
    Poco::StreamCopier::copyStream(fis, ostr);
    Poco::JSON::Parser parser;
    Poco::Dynamic::Var result = parser.parse(ostr.str());
    std::cout<
    std::cout << file_path << " doesn't exist!" << std::endl;
    return 1;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/976486.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号