Вы можете проанализировать данную строку JSON с помощью популярных библиотек JSON, таких как Джексон или Гсон , следующим образом.
Сначала 1111111 не является допустимым Timestamp
форматом, он должен выглядеть следующим образом: {"xxx.Name-xxx- 2019-10-08 09: 00: 00 ": "100"}.
Во-вторых, используйте Jackson API для анализа строки JSON для получения полей ключа и значения.
В-третьих, я предполагаю, что префикс значения временной метки равен xxx.Name-xxx- , затем вы можете получить его (говорит: 2019-10-08 09: 00: 00 ) с помощью String.replace()
.
Пример кода:
String jsonStr = "{\"xxx.Name-xxx-2019-10-08 09:00:00\":\"100\"}";
ObjectMapper mapper = new ObjectMapper();
for (Iterator<Map.Entry<String, JsonNode>> it = mapper.readTree(jsonStr).fields(); it.hasNext();) {
Map.Entry<String, JsonNode> field = it.next();
String key = field.getKey();
int value = field.getValue().asInt();
System.out.println("key: " + key);
System.out.println("value: " + value);
Timestamp timestamp = Timestamp.valueOf(key.replace("xxx.Name-xxx-", ""));
System.out.println("timestamp: " + timestamp);
}
Вывод на консоль:
key: xxx.Name-xxx-2019-10-08 09:00:00
value: 100
timestamp: 2019-10-08 09:00:00.0
Наконец, я думаю, вы можете напрямую использовать эти две переменные: timestamp
и value
дляJPA.