問題タブ [jsr-353]
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.
java - JSR-353 javax.json.JsonObjectBuilder を使用して null 値を追加する方法
AS javax.json docs は、JsonObject を作成する方法が、次のような提供されたビルダーを使用していることを示唆しています。
この例では、与えられたキーに値を追加します。実際には、値はおそらく次のような (pojo) ドメイン オブジェクトから派生します。
JsonOBjectBuilder は、キーまたは値が null の場合に NPE をスローします。お客様の年齢が登録されていない場合、上記のコードは NPE をスローします。
基本的に、追加するすべてのフィールドに対して、値が null かどうかを確認し、実際の値を追加する必要があります。それ以外の場合は、フィールドを追加したり、キーに JsonValue.NULL を追加したりしないでください。これにより、多くの(望ましくない)ボイラープレートが発生します...
私の場合、次のようなさまざまな静的メソッドを含むカスタム JsonUtils クラスになりました。
そして、次のように呼び出します。
しかし、どういうわけか、正しくないと感じた場合。javax.json が (if else ボイラープレートなしで) null 値を追加する簡単な方法を提供しないのはなぜですか?
JSR-353 api に対する私の主な批判点は、それが非常に優れた流暢なapi のように見えるにもかかわらず (apidoc のトップの例を参照)、実際にはそうではないということです。
java - JSR 353 (Java API for JSON Processing) を使用して JSON ファイルにオブジェクトを追加する方法
JSR-353 ( https://jsonp.java.net/index.html ) を使用して、json ファイルを開き、ルート配列にいくつかのオブジェクトを追加したいと思います。
私はこのようなコードを希望します:
そして最後に取得します:
注:データを追加するために完全なjsonをメモリ内にロードする必要はありません。