3

(windows)c ++でVariantをJavaスクリプトオブジェクト表記に変換するにはどうすればよいですか?

配列(浮動小数点)、文字列、またはブールデータを含むことができるバリアントを返すハードウェアがあります。すべてのバリアントコンテンツは簡単にJSONに変換する必要がありますが、これをすぐに使用できるバリアント用のJSONライブラリはありますか?または...ほとんど何でも食べて適切なJSONを返すJSONライブラリ(c ++)はありますか?

現在、私の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、

ジュハ

4

2 に答える 2

1

この変換を手動で記述する必要があると思います。VARIANT を json または jsoncpp Value クラスに変換できるものは何も知りません。したがって、VARIANT の要素をチェックするスイッチを作成VARTYPE vt;し、それに基づいて、たとえば jsoncpp 値に変換します。おそらく、VARIANT 型のすべての型を変換する必要はないので、いくつかの基本的な型 (VT_I4、VT_UI4、VT_BSTR、VT_BOOL) から始めて、必要に応じて不足している型を書きます。

于 2011-04-09T17:32:29.450 に答える
0

JsonCppをチェックアウトしましたか? 私は過去にそれでいくつかの運がありました。

そのFastWriter クラスを使用して、バリアント値から直接 JSON 文字列を出力できます。

于 2011-04-08T15:27:49.047 に答える