nlohmann's json library convert an array to a vector of structs

后端 未结 1 1870
野性不改
野性不改 2020-12-20 01:53

Say I have a json array that looks like this:

[
  {
    \"Name\": \"test\",
    \"Val\": \"test_val\"
  },
  {
    \"Name\": \"test2\",
    \"Val\": \"test_v         


        
相关标签:
1条回答
  • 2020-12-20 02:41

    For the automatic get<> to work, you need to provide a mapping between JSON and your struct:

    void from_json(const nlohmann::json& j, Test& p) {
        j.at("Name").get_to(p.Name);
        j.at("Val").get_to(p.Val);
    }
    

    Then it will work as expected.

    auto parsed = json.get<std::vector<Test>>();
    

    Demo: https://godbolt.org/z/9P1mjO

    0 讨论(0)
提交回复
热议问题