如何使用具有可变键的 objectMapper 反序列化 json
How to deserialize json using objectMapper which has variable key
我有一个这样的 json 文件。我想将其转换为我的自定义 class 的对象,该对象具有 ID、SYMBOL、COUNT、SYMBOLINDEX 作为成员变量,我不能直接使用 objectMapper 执行此操作,因为键是变量“0”、“1”、“ 434" 它们将是整数但可变。它们也可能不是增量方式,例如它可以像“323”,然后下一个可以像“5”,所以我如何使用 objectMapper 将其转换为对象。任何代码建议将不胜感激
"0": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
},
"1": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
},
"2": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
}
} ```
您可以尝试类似...
public static void main(String[] args) {
ObjectMapper map = new ObjectMapper();
Map convertValue;
try {
convertValue = map.readValue(json, Map.class);
System.out.println(convertValue.values());
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
您将得到如下结果:
[{symbol=B, count=2, symbolIndex=[0, 0]}, {symbol=B, count=2, symbolIndex=[0, 0]}, {symbol=B, count=2, symbolIndex=[0 , 0]}]
我有一个这样的 json 文件。我想将其转换为我的自定义 class 的对象,该对象具有 ID、SYMBOL、COUNT、SYMBOLINDEX 作为成员变量,我不能直接使用 objectMapper 执行此操作,因为键是变量“0”、“1”、“ 434" 它们将是整数但可变。它们也可能不是增量方式,例如它可以像“323”,然后下一个可以像“5”,所以我如何使用 objectMapper 将其转换为对象。任何代码建议将不胜感激
"0": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
},
"1": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
},
"2": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
}
} ```
您可以尝试类似...
public static void main(String[] args) {
ObjectMapper map = new ObjectMapper();
Map convertValue;
try {
convertValue = map.readValue(json, Map.class);
System.out.println(convertValue.values());
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
您将得到如下结果: [{symbol=B, count=2, symbolIndex=[0, 0]}, {symbol=B, count=2, symbolIndex=[0, 0]}, {symbol=B, count=2, symbolIndex=[0 , 0]}]