我想使用一对两个字符串作为键,例如
{(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
。
那么,使用数组作为字典键的正确方法是什么?
答案 0 :(得分:0)
只有字符串才是JSON中的有效密钥。
请考虑将两个密钥连接到字符串,并使用它进行索引:
dict[key1.asString()+","+key2.asString()] = value;
我假设您没有使用某种包含,
的奇怪密钥,在这种情况下您需要逃避它们。