问题标签 [rapidjson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocos2d-x-3.0 - `doc.AddMember("key1",1,document.GetAllocator())` 和 `doc["key1"]=1` 有什么区别?
我想在其中创建一个 json 对象cocos2d-x 3.4
并将rapidjson
其转换为字符串:
但输出是{"key1":1} not {"key1":1,"key2":2}
,为什么?
c++ - Rapidjson 根本不编码 utf8 序列
我正在尝试使用 rapidjson 来转义 utf8 序列以进行\uXXXX
格式化,但它不起作用。
该文件说它会被转义,但实际上它已经全部删除了。
我尝试使用 AutoUTF 模板,但这里也没有内存流的文档
有任何想法吗?我也试过 jsoncpp,但是那个库也不支持 unicode
谢谢@Milo Yip,我忘了提到我正在使用 Visual Studio 2010
c++ - 如何使用 C++ 中的 rapidjson 库从 json 格式字符串中获取值
我正在尝试使用 C++ 中的 rapidjson 库从以下 json 格式字符串中迭代值。我得到了这个 json 格式字符串来响应来自 Allegro Graph Server 的查询。
json格式如下:
我试图用 rapidjson 教程示例迭代他们的示例 json 字符串,它没有问题。但是,当我传递上面的数据时,编译器抱怨如下: rapidjson::GenericValue::GetInt() const [with Encoding = rapidjson:: UTF8<>; 分配器 = rapidjson::MemoryPoolAllocator<>]:断言 `flags_ & kIntFlag' 失败
我使用下面的代码来迭代
任何人都可以帮助我如何从 json 字符串中获取值吗?
预期的输出如下所示,类似于 .nt 文件,一行中的每个数组值都跟在点后面。
rapidjson - 我可以在 rapidjson 中区分 Integer 和 Double 类型吗
当我询问rapidjson::Value
使用GetType()
方法的类型时,它只返回以下类型:
如您所见,没有这样的kIntType
也不kDoubleType
(甚至kUintType
,kInt64Type
)因此,我无法获得 的实际值rapidjson::Value
。
例如:
无论如何要区分实际的数字类型吗?
谢谢。
rapidjson - rapidjson中的Document和Value有什么区别?
似乎 Document 也可以用作参数
Document 和 Value 都可以有子值,它们之间有什么区别?
c++ - Rapidjson 查找成员
我有一个这样的 JSON 字符串:
现在,我想检查是否有名称command
并获取值。可能吗?我的代码如下,但它不起作用。
c++ - 如何将此类序列化为 XML 或 JSON
我有一个从名为“Campus”的类派生的对象列表,其中包含两个字符串,一个 int 和两个列表:一个用于“学生”,另一个用于“教师”,在关闭程序之前,我想保存校园对象,当然还有列表中包含的“学生”和“教师”对象,我想以 XML 或 JSON 格式甚至其他任何格式序列化这些数据,然后将结果存储在文件中。
有人可以给我最快的方法来使用 XML 或 JSON 或其他解决方案中的库(不像 boost 那么重)进行序列化。说到处理JSON或XML序列化,我不知道该怎么办!编辑:这对 RapidJSON 可行吗?
c++ - 有没有办法有效地将 rapidjson 与 std::string 一起使用?
我正在尝试使用 rapidjson。
我想生成字符串并将其添加到rapidjson::Value
对象中。
我在使用 qjson 时使用了 std::string,但如果使用 rapidjson,它似乎不合适。我不想生成字符串然后复制它,字符串对象的生命周期在 object ( rapidjson::Value
) 生命周期之前结束(因此generated_string.c_str()
不是这种情况)。json 中可能有 \0,因此,char*
以 null 结尾的字符串也不是解决方案。
那么,我必须编写自己的字符串类型吗?或者使用类似的东西
或者还有其他一些使用字符串的方法?对我来说似乎很难。我们不能将字符串移动到,rapidjson::Value
因为里面的结构不同Value
,我们不能在里面设置指针Value
,c_str()
因为字符串会在之前被销毁Value
。即使GenericStringRef<char>
我必须重写几乎所有使用字符串的工作。
顺便问一下,为什么RAPIDJSON_HAS_STDSTRING
默认是0?工作中的一些问题?rapidjson::Value
如果我知道字符串生命周期将在值生命周期之前结束,我看到我可以将字符串复制到并复制指针。
UPD:现在我看到 rapidjson 只释放被复制的字符串:
因此,正如在回答中所说,GenericStringRef
以我的代码中的方式使用是一个坏主意,因为在这种情况下,我必须自己管理内存。
c++ - C++ rapidjson 错误:free():下一个大小无效(正常)
我正在阅读有关 JavaScript 的数据,并像这样将 Jsonstring 传递{"data_size":500, "array":[0,0,0,0,..,0,0]}
给网络服务器。数组中的数字可以是 0 到 4294967295 之间的任何数字。
在 Mongoose 网络服务器上,我使用 lib rapidjson 来处理 Jsonstring。因此,我创建了一个Document d并使用以下命令将“jsonstring”中的值读取到一个 uint32_t 数组中:
conn->content
包含 json char*。
当我发送时:{"data_size":500, "array":[0,0,0,0,..,0,0]}
一切正常。但有时,不是每次,当 a 数字变大时,像这样:
{"data_size":500, "array":[123,222,0,0,..,0,0]}
我得到错误:
free():下一个尺寸无效(正常)
c++ - 如何在 C++ 中使用 Rapidjson 获取嵌套的 JSON 值
在下面的示例中,如何取name
and balance
?