有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用Jackson对所提到的JSON到java对象建模?

我想对下面的JSON到java对象进行建模。区域的数量是动态的

{
  "regional": {
    "asia-pacific-east": 0.01667,
    "asia-pacific-southeast": 0.01245,
    "australia-central": 0.01633,
    "australia-central-2": 0.01633,
    "australia-east": 0.01313,
    "australia-southeast": 0.01313,
    "brazil-south": 0.01382,
    "canada-central": 0.01142,
    "canada-east": 0.01142,
    "central-india": 0.01233,
    "europe-north": 0.01222,
    "europe-west": 0.01279,
    "france-central": 0.01256,
    "france-south": 0.01519,
    "japan-east": 0.01359,
    "japan-west": 0.01359,
    "korea-central": 0.01199,
    "korea-south": 0.01039,
    "south-india": 0.01405,
    "united-kingdom-south": 0.01256,
    "united-kingdom-west": 0.01256,
    "us-central": 0.01211,
    "us-east": 0.01074,
    "us-east-2": 0.01074,
    "usgov-arizona": 0.01279,
    "usgov-texas": 0.01279,
    "us-north-central": 0.01074,
    "us-south-central": 0.01211,
    "us-west": 0.01336,
    "us-west-2": 0.01074,
    "us-west-central": 0.01211,
    "west-india": 0.01233
  }
}

共 (1) 个答案

  1. # 1 楼答案

    这个问题是由格森而不是杰克逊解决的。我正在为我的课程建模,如下所示。 public class Data {

    private Map<String, Double> regional;
    
    public Map<String, Double> getRegional() {
        return regional;
    }
    
    public void setRegional(Map<String, Double> regional) {
        this.regional = regional;
    }
    
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
    

    } 我可以获取以下数据

    Gson gson = new Gson(); Data data = gson.fromJson(json, Data.class); System.out.println(data.getRegional().get("asia-pacific-east"));