【问题标题】:How to change content while converting from xml to json in Spring?在 Spring 中从 xml 转换为 json 时如何更改内容?
【发布时间】:2016-11-11 20:26:43
【问题描述】:

我将一个对象读取为 xml 并在春季生成 json 一切都很好。但是我想更改其中一个变量。假设我读了 Object Person

@XmlRootElement (name="Person")
@XmlAccessorType(XmlAccessType.FIELD)

public class Person{
//a lot variable same when reading and response
private String nameSurname;

在上面的示例中,我读取了 xml <nameSurname>JohnNash<nameSurname>但我想返回 {"name":"John","surname":Nash}

那么最好的方法是什么?

我应该使用 2 个不同的对象并编写一个映射器函数吗? (xmlPerson, jsonPerson)

我是否应该只更改 getter 函数来更改内容,以便它生成我想要的 json?

我应该只使用 1 个对象并编写自定义 json 转换器函数吗?

【问题讨论】:

    标签: java json xml spring converter


    【解决方案1】:

    理想情况下,XML 和 JSON 应该是相似的,因为一般的想法是围绕这样一个概念使用 RESTful 服务,即无论您提供 XML 还是 JSON 格式,它都会以相同的方式处理它 - 因此需要像这样的转换器Gson、Jackson 等。

    但是,出于某种特定原因,如果您想将一个 XML 元素映射到两个 JSON 属性,最好的处理方法是使用单个对象并为其编写一个 json 转换器。这使您可以灵活地将映射代码放在一个地方,如果需要,可以在以后轻松更改。

    【讨论】:

    • 我实际上是从另一个服务读取 xml,所以这就是为什么我要更改变量名称并映射到不同的对象。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多