springboot rest api(postgresql)中的java搜索JSONObject
我想根据存储在数据库中的一些JSON数据执行搜索操作,该数据库具有以下格式:
{
"id": "ae002e48-f540-44ac-9050-3bd24902a",
"type": "Devil",
"System": "not your system",
"dateCreated": "2012-12-12T15:22:53.798",
"meta":{
"key":123,
"life": "get a life",
"animal":"not dirty"
},
"item": null
}
那么,我如何在postgresql数据库中搜索所有JSON以查找关键元数据呢。所有动物都“不脏”的动物
附言:我想在get请求期间执行搜索(如get请求到/animal/search/meta/animal?animal=not+dirty应该搜索所有记录并显示所有带有meta.animal=not dirty的记录)
# 1 楼答案
我假设这个JSON存储在特定的1列中
在java中创建一个类似的VObean文件
你的元类会是这样的
在代码中获取这个json数据,数据类型可能是String
列表<;String jsonList=fetchAllJsonFromDatabase()
//现在可以将其转换为vo对象(使用fasterxml)
DatabaseJson DatabaseJson=convertStringtoElement(inputString,DatabaseJson.class)
现在您可以从databaseJson中检查特定值(在您的情况下,它是动物)
# 2 楼答案
PostgreSQL
从9.2版开始就支持原生JSON数据类型,因此我假设您的数据库表列是“JSON”类型。如果是这种情况,一种方法是引导http get请求执行SQL查询,如下所示:您可能需要检查this和this