Вы можете получить String JSON от Redis, используя String redisCachedJSON = jedis.get(productId);
Затем вы можете создать свой JSONObject из этой строки, используя
JSONObject jsonObject = new JSONObject(redisCachedJSON);
Имейте в виду, что get()
в Jedis ожидает, что значение, хранящееся в этом ключе, будет строковым представлением.
Я не совсем уверен, каков ваш объект, но давайте предположим, что json следующий:
// Product json String
{
"id" : 1,
"price" : "2.63",
"quantity" : 25,
"attributeName" : "attributeValue",
}
Вы можете сопоставить свой JSON с классом Java, который проще обрабатывать, чем HashMap (если ваши ключи json не изменяются динамически), и сопоставить строку json с объектом этого класса, используя Gson
public Class Product {
int id;
String price;
int quantity;
String attributeName;
}
String redisCachedJSON= jedis.get(productId);
Product product = new Gson().fromJson(redisCachedJSON, Product.class);
System.out.println(product.attributeName); // attributeValue
Вы также можете сделать это, используя JsonObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
Product product = objectMapper.readValue(redisCachedJSON, Product.class);