我有一个 JSON 字符串,如下所示:
{
"status": "status",
"date": "01/10/2019",
"alerts": {
"labels": {
"field1": "value1",
"field2": "value2",
"field3": "value3",
"field100": "value100"
},
"otherInfo" : "other stuff"
},
"description": "some description"
}
我对应的 Java 类如下所示:
public class Status {
private String status;
private String date;
private Alerts alerts;
private String description;
}
And
public class Alerts {
private Map<String, String> labels;
private String otherInfo;
public Map<String, String> getLabels() {
return labels();
}
}
我使用以下方法将给定的 JSON 解析为 Java 对象:
Status status = gson.fromJson(statusJSONString, Status.class);
这也给了我 Status 类中的 Alerts 对象:
Alerts alerts = status.getAlerts();
这是我的问题:
让我们考虑一下labels
:
我想在label
映射不区分大小写。例如,如果提供的键/值对是"field1" : "value1"
, or "Field1" : "value1"
or "fIeLD1":"value1"
,我希望能够通过简单地调用来检索它们alerts.getLabels.get("field1")
.
理想情况下,我想将按键设置为小写labels
地图最初是创建的。我研究了 Gson 反序列化示例,但我不清楚如何解决这个问题。