Nlohmann的json库,json数组到结构体的向量,结构体内部有指针。

问题描述 投票:0回答:1

我看到 这个 关于将json数组转换为结构向量的帖子。我有一个名为 Foo:

typedef struct Foo {
  Foo* SubFoo;
} Foo;

当我试图这样做的时候,

void from_json(const nlohmann::json& j, Foo& f) {
    j.at("SubFoo").get_to(f.SubFoo);
}

它给我这个错误。

error: no matching function for call to 'nlohmann::basic_json<>::get_to(Foo*&) const'
 j.at("SubFoo").get_to(a.SubFoo);

那么我怎么才能从json中得到一个指针到一个值呢?

c++ json pointers struct nlohmann-json
1个回答
1
投票

只是取消引用指针。

void from_json(const nlohmann::json& j, Foo& f) {
    j.at("SubFoo").get_to(*f.SubFoo);
}

这里有一个 演示.

但你必须确保你没有去引用一个无效的指针。

© www.soinside.com 2019 - 2024. All rights reserved.