Java-将动态JSON映射到DTO

Java-将动态JSON映射到DTO,java,spring-mvc,dto,Java,Spring Mvc,Dto,我无法将json数据映射到具有以下负载的DTO "wigData": { "wig": { "0": { "parentWig": "", "wigName": "testing wig 1", "wigStart": "01/08/2017", "wigFromx": "1", "wigToy":

我无法将json数据映射到具有以下负载的DTO

"wigData": {
        "wig": {
            "0": {
                "parentWig": "",
                "wigName": "testing wig 1",
                "wigStart": "01/08/2017",
                "wigFromx": "1",
                "wigToy": "123",
                "wigEnd": "31/08/2017",
                "wigAchievementType": "number"
            },
            "1": {
                "parentWig": "",
                "wigName": "testing wig 2",
                "wigStart": "01/08/2017",
                "wigFromx": "1",
                "wigToy": "123",
                "wigEnd": "31/08/2017",
                "wigAchievementType": "number"
            }
        }
    }
DTO未能映射
wig
的有效负载,因为它是从

我已经为这种有效载荷创建了DTO

class WigData {
    private Wigs wigs;
// setter getter
}

class Wigs {
    private List<Wig> index;
// setter getter
}

class Wig {
    private String parentWig;
    private String wigName;
    private Date wigStart;
    private Date wigFromx;
    private BigDecimal wigToy;
    private String wigAchievementType;
// setter getter
}
但是运气不好,谁能帮我解决这个问题


由于现在无法更改有效负载

请查看JSON数组的更多信息。

请尝试使用以下命令:

"wigData": {
    "wig": [{
            "parentWig": "",
            "wigName": "testing wig 1",
            "wigStart": "01/08/2017",
            "wigFromx": "1",
            "wigToy": "123",
            "wigEnd": "31/08/2017",
            "wigAchievementType": "number"
        }, {
            "parentWig": "",
            "wigName": "testing wig 2",
            "wigStart": "01/08/2017",
            "wigFromx": "1",
            "wigToy": "123",
            "wigEnd": "31/08/2017",
            "wigAchievementType": "number"
        }
    ]
}

class WigData {
    private List<Wig> wig;
    // setter getter
}

class Wig {
    private String parentWig;
    private String wigName;
    private Date wigStart;
    private Date wigFromx;
    private BigDecimal wigToy;
    private String wigAchievementType;
// setter getter
}
“wigData”:{
“假发”:[{
“parentWig”:“,
“假发名称”:“测试假发1”,
“wigStart”:“2017年8月1日”,
“wigFromx”:“1”,
“假发玩具”:“123”,
“wigEnd”:“2017年8月31日”,
“wigAchievementType”:“编号”
}, {
“parentWig”:“,
“假发名称”:“测试假发2”,
“wigStart”:“2017年8月1日”,
“wigFromx”:“1”,
“假发玩具”:“123”,
“wigEnd”:“2017年8月31日”,
“wigAchievementType”:“编号”
}
]
}
类数据{
私人名单假发;
//塞特吸气剂
}
阶级假发{
私有字符串parentWig;
私有字符串名称;
私人约会开始;
私人约会;
私人大人物玩具;
私有字符串类型;
//塞特吸气剂
}

查看有关JSON数组的更多信息。

请尝试使用以下命令:

"wigData": {
    "wig": [{
            "parentWig": "",
            "wigName": "testing wig 1",
            "wigStart": "01/08/2017",
            "wigFromx": "1",
            "wigToy": "123",
            "wigEnd": "31/08/2017",
            "wigAchievementType": "number"
        }, {
            "parentWig": "",
            "wigName": "testing wig 2",
            "wigStart": "01/08/2017",
            "wigFromx": "1",
            "wigToy": "123",
            "wigEnd": "31/08/2017",
            "wigAchievementType": "number"
        }
    ]
}

class WigData {
    private List<Wig> wig;
    // setter getter
}

class Wig {
    private String parentWig;
    private String wigName;
    private Date wigStart;
    private Date wigFromx;
    private BigDecimal wigToy;
    private String wigAchievementType;
// setter getter
}
“wigData”:{
“假发”:[{
“parentWig”:“,
“假发名称”:“测试假发1”,
“wigStart”:“2017年8月1日”,
“wigFromx”:“1”,
“假发玩具”:“123”,
“wigEnd”:“2017年8月31日”,
“wigAchievementType”:“编号”
}, {
“parentWig”:“,
“假发名称”:“测试假发2”,
“wigStart”:“2017年8月1日”,
“wigFromx”:“1”,
“假发玩具”:“123”,
“wigEnd”:“2017年8月31日”,
“wigAchievementType”:“编号”
}
]
}
类数据{
私人名单假发;
//塞特吸气剂
}
阶级假发{
私有字符串parentWig;
私有字符串名称;
私人约会开始;
私人约会;
私人大人物玩具;
私有字符串类型;
//塞特吸气剂
}

您使用什么库来反序列化json?杰克逊?你有什么错误?顺便说一下,您错过了
Wig
object中的
wigEnd
字段,谢谢@amicoderozer,我已经修好了,小姐。是的,我使用的是Jakson,我没有得到任何错误,但是响应没有映射到DTO。请检查我的更新答案,您使用什么库来反序列化json?杰克逊?你有什么错误?顺便说一下,您错过了
Wig
object中的
wigEnd
字段,谢谢@amicoderozer,我已经修好了,小姐。是的,我使用的是Jakson,我没有得到任何错误,但是响应没有映射到DTO。请检查我的更新答案sirwell,这在我的上下文中是不可能的,先生,我使用的是Json序列化库,它映射了我问题中的有效负载。有什么提示吗,先生?我会检查jquery json序列化并给出另一个答案。但在后端,映射可以像我发布的那样工作。我将研究jquery json序列化,并在几个小时后回复您;序列化json时使用{UseintKeysaArrayIndex:true}。然后使用我提供的解决方案,它应该可以工作,因为它将转换我在回答中给出的数组。解决方案在本页中给出:在我的上下文中,这是不可能的,先生,我使用的是Json序列化库,它映射了我问题中的有效负载。有什么提示吗,先生?我会检查jquery json序列化并给出另一个答案。但在后端,映射可以像我发布的那样工作。我将研究jquery json序列化,并在几个小时后回复您;序列化json时使用{UseintKeysaArrayIndex:true}。然后使用我提供的解决方案,因为它将转换我在回答中给出的数组。该解决方案在本页中给出: