【发布时间】:2019-05-24 17:56:27
【问题描述】:
{
"key1": {
"parameter1": "String1",
"parameter2": "String2"
},
"key2": {
"parameter1": "String3",
"parameter2": "String4"
},
"key3": {
"parameter1": "String5",
"parameter2": "String6"
}
}
我有上面的JSON (/Users/user1/Desktop/responseMap.json),它基本上是一个Map<String, MockResponse>,其中MockResponse 是下面的POJO:
public class MockResponse {
public String parameter1;
public String parameter2;
}
现在,我有另一个POJO - TestCase 和另一个JSON - testCase.json,如下所示:
public class TestCase {
public String responseMapFileLocation;
public String mockResponseKey;
public MockResponse mockResponse;
}
testCase.json
{
"responseMapFileLocation": "/Users/user1/Desktop/responseMap.json",
"mockResponseKey": "key1",
"mockResponse": null
}
我能做的是首先使用Jackson 将testCase.json 映射到TestCase,然后将responseMap.json 映射到Map<String, MockResponse>,然后在我的代码中搜索地图中的mockResponseKey。
但是我想做的是,当我使用Jackson 将testCase.json 映射到TestCase 时,我希望变量mockResponse 的值根据变量mockResponseKey 的值使用第一个@ 自动设置987654344@地图。
【问题讨论】:
-
以上json是Map类型,查看json如何映射到map。
-
如果可以选择添加库,
ModelMapper值得一看。 -
@Pankaj 我已经发布了一个答案看看让我知道它是否适合你
-
你解决了这个问题吗?以下答案有帮助吗?
标签: java jackson deserialization json-deserialization objectmapper