問題タブ [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.
c++ - Is this code accessing an associative array in a class in C++?
I'm looking at the rapidjson code for possible integration. I can see that thanks to the new C++11 you can in fact do associative arrays in C++, although I'm not sure the speed advantages. However, in their example code I'm seeing this:
It looks like Document is a class that has methods being called, but at the same time he's able to access it using document["hello"] as an associative array? Is that what's going on here?
c++ - cmake を使用してプロジェクト プロパティ (Eclipse) に定義を追加する
私はrapidjsonを使用していますが、std::stringを一緒に使用したいと考えています。次に、この -DRAPIDJSON_HAS_STDSTRING を定義する必要があります。
私の CMakeLists.txt には次のものがあります。
そして、それは問題なく構築されます。
問題は、Eclipse CDT でインデクサーにその定義を認識させたいことです。次に、一部の関数をエラーとしてマークしません。
CMakeLists.txt でどうすればできますか? 私は運なしでこれを試しました:
c++ - Rapidjson では、数字だけを文字列にエンコードしてからデコードします
Rapidjsonを使用して、数値を json 形式にエンコードするにはどうすればよいですか? 私は 123.321 を持っています。それを「123.321」に変換して、ファイルに保存したいと思います。後でjsonを使用して、123.321に戻します。「{"tag":"value"}」のように保存するドキュメントを使用したくありません。単に「値」として保存してから、変換して戻してください。
数値を「数値」に変換する次のコードがあります。
それを元に戻す方法は?以下は解決策ですか?ハンドラーを使いたくない!
今後のヘルプに感謝します。
c++ - json 形式の文字列をデータベースに保存するとき、値の型も保存して後で元に戻す必要がありますか?
C ++でrapidjsonを使用して、いくつかの数値と文字列をjson形式に変換しています。次に、それらをmysqlテーブルの列にTEXTとして保存します。
後でその TEXT を実際の値に変換したい場合:
- TEXT の値の型を知るにはどうすればよいですか?
- jsonは私のためにそれをしますか? 実際の型に変換しますか?
- 事前にタイプを知っておく必要がありますか?
今後のヘルプに感謝します。
c++ - g++ 最適化による Rapidjson セグメント フォールト
私は Rapidjson を使用していますが、g++ (-O1/-O2/-O3) で最適化をオンにすると、セグメンテーション エラーが発生することに気付きました。私はそれを、rapidjson 内の GenericValue& AddMember() 関数まで追跡したと思います。
デバッグ時に、 kDefaultObjectCapacity ( が最適化されていることがわかります (これは static const SizeType kDefaultObjectCapacity = 16 です)
したがって、「o.capacity = kDefaultObjectCapacity;」という行 は実行されておらず、malloc は 0 バイトを malloc してからキャストしようとしています。
この static const が削除されるのはなぜですか?
Object&o を揮発性と静的の両方にしようとしましたが、どちらも機能しませんでした。何か案は?
感謝します
編集: 組み込みプラットフォーム上にあるため、テストを簡単に実行できません。現在、rapidjson は buildroot を使用してビルドされています。単体テストを試してみましたが、ターゲットで実行できませんでした。
アセンブリの提供を検討することはできますが、これは大きなアプリケーションの一部であるため、適切なビットを見つけるのが難しい場合があります。
情報については、これはrapidjsonコードを呼び出すメソッドであり、これが問題があると思われる場所です:
Document doc を static にすると、セグ フォールトは発生しません。
c++ - Rapidjson を使用して JSON のネストされたオブジェクトを削除する
JSON ファイルのオブジェクトにネストされたオブジェクトを削除しようとしています。ただし、インターネットや公式のrapidjsonページで例を見つけることができません。私のコードは C++ で書かれています。
私は次のコードで試しました:
しかし、どのパラメーターを渡すか、または正確な要素の MemberIterator を初期化する方法がわかりません (削除するオブジェクトの名前は既にわかっているため)。
JSON 構造の例を次に示します。
floating-point - RapidJSON を使用した double 型の丸め
私は RapidJSON ( https://github.com/miloyip/rapidjson ) を使用して非常に大きな配列 (~ 5 MB) を作成していますが、浮動小数点数が正確すぎるために多くのスペースが無駄になっています。例えば
これにより、json "{'value': 0.33333333333}" が生成されます。これは、少数の重要な数値のみが必要な場合に非常に厄介です。
この投稿で、 rapidjson を使用して浮動小数点精度を設定するという解決策を見つけましたが、それはすでに数年前のものであり、最新の rapidjson ビルドでは時代遅れです。誰かがこれに対する解決策を持っていますか?