我有这个json:
{
"details": {
"interest": {
"label": "example1",
"value": "19,9",
"symbol": "%"
},
"monthly_invoice": {
"label": "example2",
"value": "29",
"symbol": "eur"
},
"start_fee": {
"label": "example3",
"value": "0",
"symbol": "eur"
},
"monthly_pay": {
"label": "example4",
"value": "58",
"symbol": "eur"
}
}
}
Details对象将包含具有相同属性(标签,值,符号)的dinamical对象数。这是一种在java中创建类结构的方法,使用gson接收这些数据而不知道所包含对象的名称(interest,monthly_invoice ......)?
谢谢!
答案 0 :(得分:2)
在您的Java代码中,“详细信息”应该是
Map<String, Foo>
其中Foo是具有标签,值和符号属性的类。例如你JSON会解析成一个类似这样的类:
public class TestObject {
public Map<String, Foo> details;
public static class Foo {
public String label;
public String value;
public String symbol;
}
}
然后在您想要将其反序列化为Java实例的代码中,您将执行此操作:
Gson gson = new Gson();
TestObject testObject = gson.fromJson(json, TestObject.class);
System.out.println(testObject.details.get("interest").label);