[解決済み] 複雑なキーを持つマップのJSON表現
2022-03-03 17:03:57
質問
以下のような(Javaの)データ構造をJSONにシリアライズしたいのですが、どうすればいいですか?
class Machine {
String name;
Map<PartDescriptor, Part> parts;
}
class PartDescriptor {
String group;
String id;
hashCode()
equals()
}
class Part {
String group;
String id;
String description;
String compat;
...
...
}
のJSON表現はどのようになりますか?
Machine
?
また、( 任意 ) あなたの表現をサポートする JSON to Java シリアライザー/デシリアライザーを教えてください。
どのように解決するのですか?
私ならこんな風にします。
{
"name": "machine name",
"parts": [
{ "group": "part group", "id": "part id", "description": "...", ... },
{ "group": "part group", "id": "part id", "description": "...", ... },
// ...
]
}
各パーツのquot;id"が一意であれば、quot;parts"プロパティは配列ではなく、各パーツのquot;id"をキーとするオブジェクトとすることができる。
{
"name": "machine name",
"parts": {
"1st part id": { "group": "part group", "description": "...", ... },
"2nd part id": { "group": "part group", "description": "...", ... },
// ...
}
}
関連
-
[解決済み] Cloneable throws CloneNotSupportedException
-
[解決済み] Maven: assembly-pluginが全く実行されない
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] 要素 'beans' の宣言が見つかりません。
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] init-paramとcontext-param
-
[解決済み] ヘッドリカーシオンとテールリカーシオンの違い [重複]について