【问题标题】:How to parse std::string into Poco::JSON::Object in C++如何在 C++ 中将 std::string 解析为 Poco::JSON::Object
【发布时间】:2022-11-19 02:34:35
【问题描述】:

是否可以将std::string 解析为Poco::JSON::Object

我通过 Poco::Dynamic::Var 和 Parser 找到的只是std::string -> Poco::JSON::Object::Ptr。为什么我不能避免使用指针?

【问题讨论】:

    标签: c++ json parsing poco


    【解决方案1】:

    只需取消引用指针:

    std::string json_string = "{"test" : "A"}";
    Poco::JSON::Parser parser;
    auto result = parser.parse(json_string);
    Poco::JSON::Object::Ptr ptr_object = result.extract<Poco::JSON::Object::Ptr>();
    std::cout << ptr_object->get("test").toString() << std::endl;
    
    // dereference the pointer
    Poco::JSON::Object obj = *ptr_object;
    std::cout << obj.getValue<std::string>("test") << std::endl;
    

    或者更短:

    std::string json_string = "{"test" : "A"}";
    Poco::JSON::Parser parser;
    auto result = parser.parse(json_string);
    Poco::JSON::Object obj = *result.extract<Poco::JSON::Object::Ptr>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多