Java 使用映射中的值处理映射
对于下面的JSONJava 使用映射中的值处理映射,java,json,Java,Json,对于下面的JSON { "employee": { "insurances": { "insurance1": "45.1", "insurance2": "505.5" } }, "id":61 } 我使用下面的代码片段从每个字段中检索值 Map<String, Object> insuranceDetails = (Map) ((Map) sourceAsMap.get("e
{
"employee": {
"insurances": {
"insurance1": "45.1",
"insurance2": "505.5"
}
},
"id":61
}
我使用下面的代码片段从每个字段中检索值
Map<String, Object> insuranceDetails = (Map) ((Map) sourceAsMap.get("employee"))
.get("insurances");
insuranceDetails.get("insurance1");
insuranceDetails.get("insurance2");
Map insuranceDetails=(Map)((Map)sourceAsMap.get(“员工”))
.获得(“保险”);
保险详情。获取(“保险1”);
保险详情。获取(“保险2”);
想知道有没有更好/有效的方法来实现这一点?它必须在循环内部运行,所以我担心性能。“insurance1”和“insurance2”是固定字段。更好的解决方案是创建一个实体类,它的属性符合json格式
class Json {
long id;
Map<String, Map<String, Float>> employee;
}
classjson{
长id;
地图员工;
}
甚至:
class Json {
long id;
Map<String, Insurrences> employee;
}
class Insurrences {
Map<String, Float> insurrences;
}
class Converter {
public static void main(String[] args) {
String json = "{"employee":{"insurances”:{“insurance1”:”45.1","insurance2”:”505.5”}}, “id":61}";
Gson gson = new Gson();
Json jsonObj = gson.fromJson(json, Json.class);
System.out.println(jsonObj.id);
}
}
classjson{
长id;
地图员工;
}
类别保险{
地图保险;
}
类转换器{
公共静态void main(字符串[]args){
String json=“{”employee:{”insurances:{”insurance1:“45.1”,“insurance2:“505.5”}”,id:61};
Gson Gson=新的Gson();
Json jsonObj=gson.fromJson(Json,Json.class);
System.out.println(jsonObj.id);
}
}
产出将为:61
gson librar:创建一个实体类是一个更好的解决方案,它的属性符合您的json格式
class Json {
long id;
Map<String, Map<String, Float>> employee;
}
classjson{
长id;
地图员工;
}
甚至:
class Json {
long id;
Map<String, Insurrences> employee;
}
class Insurrences {
Map<String, Float> insurrences;
}
class Converter {
public static void main(String[] args) {
String json = "{"employee":{"insurances”:{“insurance1”:”45.1","insurance2”:”505.5”}}, “id":61}";
Gson gson = new Gson();
Json jsonObj = gson.fromJson(json, Json.class);
System.out.println(jsonObj.id);
}
}
classjson{
长id;
地图员工;
}
类别保险{
地图保险;
}
类转换器{
公共静态void main(字符串[]args){
String json=“{”employee:{”insurances:{”insurance1:“45.1”,“insurance2:“505.5”}”,id:61};
Gson Gson=新的Gson();
Json jsonObj=gson.fromJson(Json,Json.class);
System.out.println(jsonObj.id);
}
}
产出将为:61
gson librar:可能尝试解析它:它是有效的JSON吗?您是否使用任何库来解析JSON?它是什么类型的
sourceAsMap
?它是如何构建的?为什么应该有一种更有效的方法来使用该库?它看起来已经很简洁明了了。可能尝试解析它:它是有效的JSON吗?您是否使用任何库来解析JSON儿子?什么类型的sourceAsMap
?它是如何构建的?为什么应该有一种更有效的方法来使用该库?它看起来已经简洁明了了。