问题标签 [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.

0 投票
1 回答
2540 浏览

c++ - 以“SAX”方式使用 rapidjson 编写嵌套数组

我正在尝试以 sax 方式使用 rapidjson 编写 json 结构。这就是我所做的:

但结果不是我所期望的,它是:

看起来第一个 StartArray EndArray 中的所有内容都变成了一个数组元素。我想获得的是:

我做错了什么还是根本不支持我想要的?

0 投票
5 回答
33017 浏览

c++ - 使用 rapidjson 在 JSON 中迭代和检索嵌套对象

我正在解析一个JSON类似于以下的结构

外部嵌套项的数量不固定,所以我使用 rapidjson 中的迭代器进行迭代,内部嵌套对象变量是固定的,所以我可以使用 [] 访问它们。

但是 sb(字符串缓冲区)不允许使用 [],知道我该怎么做吗?

Edit1:我以非常低效的方式做到了,但只是分享了解决方案,所以它可能会帮助某人提出有效的解决方案。

0 投票
1 回答
3534 浏览

c++ - rapidjson c++ 释放对象内的数组

我正在使用rapidjson C++ library,使用这个库你可以创建一个 JSON 对象。目前我有一些记忆问题。

情况:

在我当前的设置中,我创建了一个新对象,并为其添加了值成员和数组成员。该对象通过引用传递给多个函数并在我的程序流程中使用。

我在循环中使用相同的对象,因此在我再次添加成员之前擦除了对象的成员。我为此使用了 EraseMember 函数。但是我注意到这个函数没有释放数组成员的内存,因此会泄漏内存。

如何让 rapidjson 释放包含所有成员的完整对象?

0 投票
1 回答
386 浏览

json - 如何使用rapidjson进行反向解析?

例如,我有一个从字符串解析为对象的类:

学生.h

学生.cpp

主文件

它调用 parse(doc) 来填充 json 字符串中的值,输出应该是:

,现在我想反转解析过程,将对象转换为json字符串,通过将名称更改为def并将年龄更改为30,调用reverseParse()应该返回:

如何编写reverseParse()?

0 投票
1 回答
1464 浏览

c++ - 使用 lib rapidjson 将混合 JSON-Number-Array 转换为 int、uint、float

据我了解,这个 char* 是一个有效的 json 字符串。

数组中的所有数字应为 4 个字节。

如何使用 rapidjson 循环遍历数组?

到目前为止,这是我的代码:

错误:

代码在函数 a.Size() 处崩溃,当它在 GetDouble 之后执行时。怎么能解决这个问题?

我知道最后一个“如果”是错误的,这可能就是程序崩溃的原因。Double 为 8 个字节,SizeType 默认为 4 个字节。

是否有解决方案来循环数组?如果不是,我也会对其他库很好。我需要通过 json 传输这三种不同类型的值。顺便说一下,数组的长度可以是 1 到 500。

(没有 GetFloat() 函数。)

感谢您提供任何帮助。问候

0 投票
2 回答
307 浏览

rapidjson - 是否有特殊字符或字符串不能用作 rapidjson 中的键?

特殊字符可以用作键的一部分吗?

例如 :

这种rapidjson格式有效吗?

此外,是否有任何特殊字符串无效用作键?

(我认为前面的问题不能完全回答我的问题,因为它不包括空字符串的情况,例如:“”:“empty.png”)

0 投票
1 回答
2706 浏览

c++ - 在rapidjson中解析数组内的对象

我在实现一个递归函数时遇到了问题,该函数遍历了我从解析 json 输入获得的树。

json输入。例如:

这就是我们所说的“属性的复合值”,该值只是一个 JSON 文档。它的内容是完全任意的(只要它的 JSON 有效)。

问题是,对于 Vector,我必须使用 Value::ConstValueIterator 类型进行循环(与 Object 不同,我使用 Value::ConstMemberIterator)。

我的递归函数将 Value::ConstMemberIterator 作为参数,并且一切正常,直到我在 Vector 中遇到 Vector/Object - 对于递归调用,我需要一个 Value::ConstMemberIterator 类型的迭代器。

“遍历”功能的相关部分:

我尝试了一些方法,例如调用 iter->value.MemberBegin() 以“转换”为所需的类型,但到目前为止没有任何成功

非常感谢这里的一些帮助......

0 投票
2 回答
1556 浏览

c++ - std::string 到 const char 数组

这是我想要做的代码

这是我的尝试

但它给了我错误“从'const char *'转换为'char'失去精度”

请帮忙。谢谢你。

0 投票
1 回答
150 浏览

c++ - rapidjson 不正确的 web 服务字符串格式

我的网络服务有一个返回字符串,如下所示:

此代码有效

但后来它在这些线上失败了

有没有一种简单的方法可以将我的字符串格式化为正确的 json 格式?

0 投票
2 回答
8609 浏览

c++ - 在 RapidJson 中循环数组并获取对象元素

如何从 ConsrValueIterator 中获取值?在这种情况下,我知道数组的元素是字典(又名对象)。

代码总结: