如何转换 c++ JSON 的变体?

发布于 2024-10-30 22:37:40 字数 606 浏览 4 评论 0原文

如何将 Variant 转换为 (windows) C++ 中的 Java 脚本对象表示法?

我有一个返回 Variant 的硬件,它可以包含数组(浮点)、字符串或布尔数据。所有变体内容都应该很容易转换为 JSON,但是是否有一个 JSON 库可以对变体进行开箱即用的转换?或者...是否有一个 JSON 库(C++ 语言)可以处理几乎所有内容并返回正确的 JSON。

目前我的 JSON 转换器(我从随机站点下载的源)不理解 toJson(&variant)。

我正在寻找的是(伪代码):

switch (variant.type):
    type1:
        return json.dump(variant.value)
    default:
        return json(stringify(variant.value))

这里的要点是以最小的努力获得经过测试且有效的解决方案。

编辑 我所说的变体是指 Windows 的变体:msdn.microsoft.com/en-us/library/ms221627(VS.80).aspx

br,

Juha

How can I convert Variant to Java script object notation in (windows) c++?

I have a piece of hardware that returns a Variant which can contain an array(float), string or boolean data. All of variant contents should be easily converted to JSON, but is there a JSON library that does this out-of-the-box for variant? Or... Is there a JSON library (in c++) that eats almost anything and returns proper JSON.

Currently my JSON converter (sources that I downloaded from a random site) don't understand toJson(&variant).

What I am looking for is (pseudocode):

switch (variant.type):
    type1:
        return json.dump(variant.value)
    default:
        return json(stringify(variant.value))

The main point here is to get a tested and working solution with minimal effort.

edit By variant I mean Windows' VARIANT: msdn.microsoft.com/en-us/library/ms221627(VS.80).aspx

br,

Juha

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

请别遗忘我 2024-11-06 22:37:40

我认为你需要手动编写这个转换。我不知道有什么可以将 VARIANT 转换为 json 或 jsoncpp 值类。因此,只需创建检查 VARIANT 的 VARTYPE vt; 元素的开关,并在此基础上将其转换为例如 jsoncpp 值。也许您不需要转换每种类型的 VARIANT 类型,因此从一些基本类型(VT_I4、VT_UI4、VT_BSTR、VT_BOOL)开始,然后根据需要编写缺失的类型。

I think you need to write this conversion manually. I'm not awarer of anything that could translate VARIANT to json or jsoncpp Value class. So just create switch that check VARTYPE vt; element of VARIANT and base on that convert it to for example jsoncpp Value. Probably you don't need to convert every type of VARIANT types so start with some basic ones (VT_I4, VT_UI4, VT_BSTR, VT_BOOL) and later if needed write missing types.

滥情稳全场 2024-11-06 22:37:40

您检查过 JsonCpp 吗?我过去曾有过一些运气。

您可以使用其 FastWriter 类 直接从变体值输出 JSON 字符串。

Have you checked out JsonCpp? I've had some luck with it in the past.

You could use its FastWriter class to output a JSON string directly from a variant value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文