問題タブ [indefinite]

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.

0 投票する
0 に答える
107 参照

java - PathNotFoundException: 再帰的な JSON 構造を反復処理中にパスにプロパティがありません

一部のオブジェクトに任意の名前を付けることができる JSON 構造があり、この構造を正規化して、オブジェクトが匿名になるようにしますが、「名前」プロパティで識別できるようにします。
から

最初のステップでは、名前プロパティを「任意の名前」オブジェクトに追加し、次のステップで「任意の名前」オブジェクトを削除して、そのプロパティを 1 レベル上に移動します。

まず、正規化する必要があるオブジェクトを指すすべてのパスについて、 ( https://github.com/json-path/JsonPathを使用して) JSON 構造を照会しています。それらはすべて、「children」という名前の配列の下に配置されています。次に、このパスを繰り返し、オブジェクトの値を取得し、name プロパティを追加します。
私のアプローチはトップレベルのオブジェクトでうまく機能しますが、それらがネストされている場合 (子オブジェクト -> service.children[0].arbitrary_name1.children[0])、JsonPath は例外をスローし、プロパティが何であるかを取得しません。ない。この構造内のすべての可能なパスを出力し、クエリされたパス (例外の原因) も出力されます。
私の入力は次のようになります。

私のコード:

対応する例外は次のように述べています。

私は何が欠けていますか、またはより簡単なアプローチがありますか?