Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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
Java 仅获取Json/xml中的ID值_Java_Json_Lombok - Fatal编程技术网

Java 仅获取Json/xml中的ID值

Java 仅获取Json/xml中的ID值,java,json,lombok,Java,Json,Lombok,我有两个jpa实体: @Entity public class Contact { @Id private Long id; } 及 因此,在我的控制器中,我将获得类似以下应用程序的json或xml: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <APPLICATION> <APPLICATION_ID>6</APPLICATION_ID> <CONTACT_ID>

我有两个jpa实体:

@Entity
public class Contact {

@Id
private Long id;
}

因此,在我的控制器中,我将获得类似以下应用程序的json或xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<APPLICATION>
<APPLICATION_ID>6</APPLICATION_ID>
<CONTACT_ID>
    <id>1</id>
</CONTACT_ID>
</APPLICATION>
但需要:

{
"APPLICATION_ID": 6,
"CONTACT_ID": 1,
}

我怎样才能获得唯一的应用程序ID?所有的getter、constructor和setter都是由lombok添加的。

使用lombok,这意味着您还生成了getter。如果您只需要id,请使用以下方法映射contact json:


@资料
公共类联系人{
@JsonValue
私人长id;
}

这将使json使用id作为整个序列化值。
对于xml映射,我认为您必须实现一个
@XmlJavaAdapter

,因此我决定使用DTO模式,解决方案变得非常简单和正确。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<APPLICATION>
<APPLICATION_ID>6</APPLICATION_ID>
<CONTACT_ID>1</CONTACT_ID>
</APPLICATION>
{
"APPLICATION_ID": 6,
"CONTACT_ID": {
    "id": 1
}
{
"APPLICATION_ID": 6,
"CONTACT_ID": 1,
}