私はspringmvcフレームワークでreponses 'json decodingを行っていて、実装としてjackson converterを使用しています。 今、ケースがあります。オブジェクトのいくつかは巨大で非常に深いレベルで、私はそれのための情報の最下位レベルをつかみたい。 jsonPathのようにフィールドに注釈を付けるなどの方法がありますか?ジャクソンはJsonPath Annotationをサポートしています
0
A
答えて
2
これを行う最も簡単な方法の1つは、 'at'関数を使用してルートを指定されたJSONノードに移動することです。
以下の例では、ルートノードをnode3
に変更しました。 node3
を単純なPOJOに変換する方法の例を追加しました。 POJOに変換することなく、子ノードに直接アクセスすることもできます。
private static final String JSON = "{\"node1\": {\"node2\": {\"node3\": {\"title2\":\"test\"}}}}";
public static void main(String []args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(JSON);
JsonNode node = root.at("/node1/node2");
System.out.println(node);
System.out.println("-----------------");
JsonNode node3 = node.at("/node3");
System.out.println(node3);
System.out.println(node3.asText());
System.out.println("-----------------");
Node result = mapper.readValue(node3.toString(), Node.class);
System.out.println(result);
}
at
メソッドはnullを返さないことに注意してください。私はあなたがJSONの例を投稿してくれノードもののいくつかのアイデアを与える場合、あなたの問題のために、より適切であるあなたが無視したいとあなたが解析したいノードの答えで来ることができる
Method will never return null; if no matching node exists,
will return a node for which {@link #isMissingNode()} returns true.
:メソッドのjavadocから 。
関連する問題
- 1. ジャクソンまたはGsonとJsonpath
- 2. JSONPathが親をサポートしていないのはなぜですか?
- 3. jayway jsonpathがデフォルトの型を使用していますか?
- 4. jsonpath式を使用した配列サイズ - Stefan Goessner JsonPath
- 5. アノテーションなしでジャクソンにカスタムマーシャラーを使用していますか?
- 6. ジャクソン
- 7. はジャクソン
- 8. GCCはコマンドファイルをサポートしています
- 9. libspotifyはoauthをサポートしています
- 10. IEはJQueryをサポートしています
- 11. stimulsoftreports.netはスタイルタグをサポートしています
- 12. Javaのジャクソン:私も別のクラスのリストが含まれているオブジェクトにジャクソンCsvParserを使用してCSVファイルを解析しようとしています
- 13. AnnotationからSQLデータを渡して新しいビューに移動します
- 14. ジャクソンSerializeをフィールド
- 15. C intellisenseはサポートしていますが、C++をサポートしていない適切なIDEはありますか?
- 16. JsonPathを使用してオブジェクトを取得/設定するC#
- 17. JsonPathこれはJSONされているJava
- 18. CSS3アニメーションはサポートしていますか?
- 19. ジャクソンはオブジェクトまたは配列を逆シリアル化します
- 20. ジャクソン
- 21. jsonpathを持つメンバーをカウントしますか?
- 22. ContextualDeserializerはジャクソン
- 23. ジャクソンを使用してvertx JsonObjectをシリアライズ
- 24. Opera 10はhtml5オーディオタグをサポートしていますが、Opera 11はサポートしていますか?
- 25. はジャクソンXmlMapperで
- 26. Annotation ElementType
- 27. CUDAをサポートするGPUもOpenCLをサポートしていますか?
- 28. ジャクソンは双方向の1対多の関係で混乱しています
- 29. なぜOpenGLはミップマップをサポートしていますが、インテグラルイメージはサポートしていませんか?
- 30. pythonパッケージ "jsonpath"が見つからない