{ "TOTALRECORDCOUNT":588、 "のRecordCount":588、 "HASMORE":偽、 "レコードセット":{ "列":[ "PARTNERSEGMENTID"、 "ORGANIZATIONID"、 "ORGANIZATIONNAME" 、 "PROGRAMTRACK"、 "PARTNERLEVEL" ]、 "DATA":[ [ "Partner_Segment_GES"、 1、 "Relayware"、 "ProgramTrack_SolutionPartner"、 "AuthorizedLevel" ]、 [ "Partner_Segment_GES"、 2、 "タタ・コミュニケーションズ"、 "ProgramTrack_SolutionPartner"、 ヌル ]、以下のjsonデータをjacksonを使用してコレクションリストにデシリアライズする方法はありますか?
答えて
あなたが投稿したJSONのみ1つのトップレベルを持っているとして、あなたはジャクソン@JsonRootNameアノテーションを使用することができますキー。それ以上あれば、レコードセットがそのフィールドであるpojoを作成することができます。「POJOレコードセット
@JsonRootName( "レコードセット") クラスレコード{
@JsonProperty(用:ここ コードである:JSONのみトップレベルの鍵としてレコードセットを有する
ケースDATA ") リスト>データ;
@JsonProperty("COLUMNS")
リストの列;
//getter and setter
}
レコードセットオブジェクトにJSONをデシリアライズするためのコード
String jsonString="{ \"RECORDSET\": { \"COLUMNS\": [ \"MEMBERSHIPLEVEL\", \"PARTNERSEGMENTID\", \"ORGANIZATIONID\", \"ORGANIZATIONNAME\", \"PROGRAMTRACK\", \"CREATED\" ], \"DATA\": [ [ \"ProgramLevel_Premier\", \"Partner_Segment_GES\", 2, \"Tata Communications\", \"ProgramTrack_SolutionPartner\", \"2008-06-10T20:03:07Z\" ] ] } }";
ObjectMapper mapper=new ObjectMapper();
mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
RecordSet recordSet = mapper.readValue(jsonString, RecordSet.class);
//The below two statements can be replaced with the logic that you want to operate on deserialized object
System.out.println(recordSet.getColumns());
System.out.println(recordSet.getData());
totalRecordSetCount及び他のフィールドはトップレベルの一部であるケースjson:
クラスレスポンス{(HASMORE) プライベートboolean hasMore;
@JsonProperty( "RECORDCOUNT") private int recordCount;
@JsonProperty( "TOTALRECORDCOUNT") private int totalRecordCount;
@JsonProperty("RECORDSET")
RecordSet recordSet;
// getterとsetter }
デシリアライズするケース#1
コードからレコードセットPOJOを取る:あなたが投稿したJSONは有効なものではありません
ObjectMapper mapper=new ObjectMapper();
Response response = mapper.readValue(jsonString, Response.class);
RecordSet recordSet = response.getRecordSet();
//The below two statements can be replaced with the logic that you want to operate on deserialized object
System.out.println(recordSet.getColumns());
System.out.println(recordSet.getData());
もう一度、ソリューションをお寄せいただきありがとうございます。json DATAの「[Partner_Segment_GES」、1、 、null]]にはファイル名がありません。配列array.iとして取得するのではなく、各配列を直接オブジェクトにマップしたいのですが、配列をすべてリストし、オブジェクトを再作成する必要はありません。以下のようなクラスデータ{プライベートString segemt、プライベートStringトラック、プライベートString id} –
標準のjsonオブジェクトのマッピングによれば、あなたはそれを行うことはできませんが、ループごとに手動でフィールドを繰り返し処理することができます。リスト内のデータの順序に頼ってオブジェクト変数を設定するのは良い考えではないので、そうしないでください。 "DATA"内のjsonの構造について、文字列のリストではなく、地図のリスト。マップ内にオブジェクト変数としてのキーと現在の値としての値を持つことができます。 –
- 1. @JsonPropertyを使用してJSONレスポンスをデシリアライズする方法はありますか?
- 2. Jackson JSONとJAVAを使用して多形LinkedListをデシリアライズする方法は?
- 3. Jackson JSONオブジェクトマッパーは、HashMapの代わりにLinkedHashMapにデシリアライズします
- 4. Jacksonを使用してJSONオブジェクトをPOJOにデシリアライズ
- 5. NewtonSoft Jsonを使用して、変数型プロパティを持つクラスにデシリアライズする方法はありますか?
- 6. json/jacksonのシリアル化でリストルートを無視する方法はありますか?
- 7. 以下のコードを使用してJSON
- 8. jacksonを使用してjsonリストをPOJOにシリアル化する方法は?
- 9. デシリアライズJSONは私がGSONを使用して、以下の構造を持つJSONをデシリアライズしようとしている変数の構造、GSON
- 10. Jacksonを使用してJSON配列の応答を解析する方法は?
- 11. テーブルセルに読み込む方法は?以下はjsonデータです
- 12. Cでデータセットを使用してコレクションリストを埋める方法#
- 13. 以下のjsonデータにObjectNodeコードを書き込む方法は?
- 14. jacksonを使用してString/JSON MultipartFormDataInputをオブジェクトに自動的にマッピングするサポートがありますか?
- 15. DataSnapshotからデータをコレクションリストに変換する方法FirebaseDatabase
- 16. C#でJSON配列をデシリアライズする方法私は、次のJSONファイルをデシリアライズしようとしています
- 17. jsonオブジェクトを正しく解析してJacksonと配列する方法はありますか?
- 18. DocumentFormat.OpenXmlを使用してdocxファイルからデータを抽出する方法を以下に示します。
- 19. Jackson JSONプロセッサは、デシリアライズ時にオブジェクトのプロパティを上書きします
- 20. 私はPHPを使用して、以下のJSONデータを取得したいPHP
- 21. curlでphpのAPIからデータベースにjsonデータを格納する方法は?コードは以下の通りです
- 22. java jacksonを使用してjsonファイルの値を更新する方法
- 23. IXmlSerializerを使用してインターフェイスをシリアル化およびデシリアライズする方法はありますか?
- 24. 以下のタプルセットをブタを使用してフォーマットされたjsonに変換する方法はありますか?
- 25. JSONをデシリアライズするより良い方法はありますか?返すことがあります。私は、APIに投稿しています
- 26. jsonデータをjsonファイルにJavascriptを使ってダンプする方法はありますか?
- 27. Jersey + Jacksonはデシリアライズ時にnullを取り除きます
- 28. Cのコレクションリストにデータを追加する方法
- 29. 機能的なアプローチでローカルJSONファイルを解析する別の方法はありますか?以下は、
- 30. ASP.NET + jQuery、JSONをデシリアライズする方法は?
。正しいjsonを入力してください。 –
再生のためのタックス。 { "列":[ "CREATED" "MEMBERSHIPLEVEL"、 "PARTNERSEGMENTID"、 "ORGANIZATIONID"、 "ORGANIZATIONNAME"、 "PROGRAMTRACK"、 を ]、 「正しいJSONは{ "レコードセット" でありますDATA ":[ [ "ProgramLevel_Premier"、 "Partner_Segment_GES"、 2、 "タタ・コミュニケーションズ"、 "ProgramTrack_SolutionPartner"、 "2008-06-10T20:03:07Z" ] ] } } –
以下に回答を掲載しました。将来的には、あなたが試した詳細とサンプルコードと、コードに入っている問題を追加してください。また、コメントに質問されたときに質問を修正してください。ハッピーラーニング!! –