如何在c ++中创建Json :: Value :: ArrayIndex?

时间:2017-03-29 03:37:25

标签: c++ json

我想使用一对两个字符串作为键,例如

{(key1, key2): value}

我试过

std::string key1, key2, value;
Json::Value p;
p.append(key1);
p.append(key2);
dict[p] = value;

但是编译器抱怨没有可行的operator[]

我也试过

dict[Json::Value::ArrayIndex(p)] = value;

但是编译器抱怨没有可行的转换方式。

更重要的是,首先将p声明为Json::Value::ArrayIndex会阻止我完全使用append

那么,使用数组作为字典键的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

只有字符串才是JSON中的有效密钥。

请考虑将两个密钥连接到字符串,并使用它进行索引:

dict[key1.asString()+","+key2.asString()] = value;

我假设您没有使用某种包含,的奇怪密钥,在这种情况下您需要逃避它们。