問題タブ [nlohmann-json]
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++ - 無効な UTF8 エラーが発生するのはなぜですか?
C++ コードから Java で実行されている REST サービスに JSON を送信しようとしています。Visaul Studio 2019、nlohmann/json ライブラリを使用してオブジェクトをシリアル化し、libcurl を使用して HTTP 要求を作成しています。
シリアライズしたい次のオブジェクトがあります。
この LogType を使用して、AliveLog の一部のメンバーを入力します (Java 列挙型に非常によく似ています)。そして、次を使用してシリアル化します。
この関数を呼び出すと、"Çevrimdışı" があるはずの場所に疑問符と ½ が表示されます。
また、REST サービスは例外 JSON parse error: Invalid UTF-8 middle byte 0xdd; をスローします。
コンパイラのコマンド ライン オプションに /utf8 と /validate-charset を設定しようとしましたが、役に立ちませんでした。
引数なしで j.dump() を使用すると、「JSON 値内に格納されている文字列が UTF-8 でエンコードされていない場合は type_error.316」という例外がスローされます。私のテキスト エディタでは、「署名なしで UTF-8 エンコーディングを自動検出する」が選択されています。
この同じコードは、Java で記述された問題なく機能します。私は、その C++ バージョンを作成しようとしています。
編集: LogType と AliveLog に関する詳細情報を追加しました
c++ - パッチの複数レベルの json を nlohmann ライブラリとマージする方法
私は次のようなパスのリストを持っています:"blabla/bleble/blibli", "blabla/blibli/bleble"
私はこれに1つを変換することに成功しました:{"blabla":{"bleble":{"blibli":null}}}この関数で:
しかし、今はそれをマージしたいのですが、うまくいきません。私はもう試した:
結果は役に立たず、マージが何もしないようです。 nlohmann::json ライブラリの merge_patch メソッドを試しましたが、仕事の半分を行います:
期待される結果:
完全な json をマージできるかどうか知っていますか?
ここにコード全体があります:https://pastebin.com/Qyc8EQN0