Poco :: JSON :: Object :: Ptr集函数无法在1.6.1

时间:2016-05-12 20:30:52

标签: c++ json poco-libraries

我有一段代码如下:

Poco::JSON::Parser a;
Poco::Dynamic::Var v = a.parse(str); //str is a json string
Poco::JSON::Object::Ptr p = v.extract<Poco::JSON::Object::Ptr>();
p->set("key","value");

在Poco v 1.6.0中这完全正常,并且v的内容根据设置的功能而改变,但是在1.6.1中它不再起作用,1.6.0之间的设置函数调用是否存在差异和1.6.1?或者可能是什么潜在的问题? (我目前的观察是在1.6.1中,设定线根本没有执行。)

感谢您阅读本文。

注意:如果有任何解决方法可以达到相同的效果,但不必使用设置功能,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

所以我今天找到了答案并决定与人分享。

答案:set()函数Poco :: JSON :: Object在1.6.0和1.6.1中有所不同。在1.6.1中,如果已经为该给定键分配了值,则它将不起作用,而在1.6.0中它将仅覆盖它。 1.6.1的一个非常简单的工作是你可以先做remove()函数然后执行set()函数,然后它将工作相同。但是,是的,实现是不同的,可以在Poco库的源代码中检查。