Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将动态json转换为java类?_Java_Json - Fatal编程技术网

如何将动态json转换为java类?

如何将动态json转换为java类?,java,json,Java,Json,我有一个来自服务的json请求。该服务由少量数据项组成 { dataPair { keyA : valueA keyB : valueB .... } name: string addr: string } } 最初我有以下pojo课程 Class ServiceRequest { public String name; public String addr; public DataPa

我有一个来自服务的json请求。该服务由少量数据项组成

{
    dataPair {
       keyA : valueA
       keyB : valueB 
       ....
    }
    name: string
    addr: string
    }
}
最初我有以下pojo课程

Class ServiceRequest {
    public String name;
    public String addr;
    public DataPair dataPair;
}

Class dataPair {
    public String keyA;
    public String keyB;
    //...
}
但是现在我想让数据对是动态的,这样无论我们收到什么键值对,我们都能够在不改变类的情况下得到它


我想知道我应该如何更改数据对类,或者是否有方法生成键值对字段?

这种方法如何:

Class dataPair {
 private HashMap<String, String> dt= new HashMap<String, String>();
}
类数据对{
私有HashMap dt=新HashMap();
}

这种方法怎么样:

Class dataPair {
 private HashMap<String, String> dt= new HashMap<String, String>();
}
类数据对{
私有HashMap dt=新HashMap();
}

您可以使用改装2.0吗? 将动态json转换为Java集合(如List或Map)很容易。 因此,pojo课程将是:

Class ServiceRequest {
  public String name;
  public String addr;
  public HashMap<String, String> dataPair;
}
类服务请求{
公共字符串名称;
公共字符串地址;
公共HashMap数据对;
}

您可以使用改装2.0吗? 将动态json转换为Java集合(如List或Map)很容易。 因此,pojo课程将是:

Class ServiceRequest {
  public String name;
  public String addr;
  public HashMap<String, String> dataPair;
}
类服务请求{
公共字符串名称;
公共字符串地址;
公共HashMap数据对;
}

我建议使用Jackson库将Java序列化为JSON并返回:我建议使用Jackson库将Java序列化为JSON并返回: