次の Java クラスがあります。
public class ModuleParsed {
String id_component;
String id_instance;
Map<ModuleParam, ModuleParam> input;
Map<ModuleParam, List<ModuleParam>> output;
int id_paas;
}
と
public class ModuleParam {
String name;
Object type;
}
として解析するために期待される JSON は何List<ModuleParsed>
ですか?
listModules = gson.fromJson(br, new TypeToken<List<ModuleParsed>>() {}.getType());
入力パラメーターと出力パラメーターを導入するまでは、すべて問題ありませんでした。
編集
逆のプロセスを行うことで、JSONは次のようになるはずです
[
{
"id_component": "mod1",
"id_instance": "mod1_inst1",
"input": {
"moduleParam": {
"name": "param3",
"type": "obj3"
},
"moduleParam": {
"name": "param2",
"type": "obj2"
}
},
"id_paas": 1
},
{
"id_component": "mod2",
"id_instance": "mod2_inst1",
"input": {
"moduleParam": {
"name": "param3",
"type": "obj3"
},
"moduleParam": {
"name": "param2",
"type": "obj2"
}
},
"id_paas": 1
}
]
moduleParam 要素は次のようなものでした。parser.ModuleParam@36c51089
これらの要素にどのように名前を付けても、次のエラーが発生します。
Exception in thread "main" com.google.gson.JsonParseException: Expecting object found: "moduleParam"
ModuleParsed
Gsonでクラスを取得するにはどうすればよいですか?