首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SQL ResultSet转换为json

将SQL ResultSet转换为json
EN

Stack Overflow用户
提问于 2016-04-26 18:17:06
回答 3查看 687关注 0票数 5

我正在为我的for应用程序使用postgresql。我对这个Postgresql-json是个新手。我只想以json结构的形式获得select查询结果。以下是我的详细信息:

代码语言:javascript
复制
create table sample(id serial, info jsonb);
insert into sample("info") values('{"person": {"phone": 9804484234,"name":{"firstname":"Alice", "lastname":"bob"}, "empId": "E067", "age":25}');

选择查询:

代码语言:javascript
复制
select "info"->'person'->>'lastname' from sample;

结果: bob

但我想要获得上面的结果以及如下所示的json节点:

代码语言:javascript
复制
result: {"person":
          {"name":
            {"lastname":"bob"}
          }
        }

谁能告诉我如何从数据库中获得我期望的结果结构?

EN

回答 3

Stack Overflow用户

发布于 2016-05-05 08:33:21

将会简单得多:

A-一个普通的postgresSQL数据库,并将响应转换为json.

  • A1.存储一个普通的SQL (并且没有postgres sql json)
  • A2。检索
  • A3的SQL resultSet (select查询)。使用此代码将结果集转换为json

公共类SOF_36861985 {公共静态数组( JSONArray res)抛出异常{ JSONArray数组=新的JSONArray();而(res.next()) { int SOF_36861985= res.getMetaData().getColumnCount();JSONObject obj =新的JSONObject();for (int i= 0;i< size;i++) { obj.put( res .getMetaData() .getColumnLabel(i + 1) .toLowerCase(),res.getObject(i + 1));array.put(obj);}}返回数组;} }

B.使用作为json本机数据库的mongoDB

  • B1.将数据作为json
  • B2存储在mongoDB中。查询结果集将返回json mongoDB

解决方案A与解决方案B的比较

解决方案A: sql +不会强迫你有一个新的数据库,你将继续使用postgressql -将从ResultSet转换到Json -将在SQL数据库中拥有静态模式(没有nosql中的动态模式)

解决方案B: mongo -对数据库进行更改,即依赖于生产...并对基础设施产生影响...+是json原生DB +对你来说可能是一个新的DB,你将有学习的时间来掌握它(将需要更多的时间来设置,安装,开发...)

票数 1
EN

Stack Overflow用户

发布于 2016-05-05 16:11:17

如果路径是固定的,则可以将所遵循的路径作为字符串常量进行复制。

代码语言:javascript
复制
select '{"person":{"name":{"lastname":"' ||
(info->'person'->'name'->>'lastname') ||
'"}}}'as val  from sample;
票数 1
EN

Stack Overflow用户

发布于 2016-05-06 08:50:18

代码语言:javascript
复制
SELECT json_build_object("person", 
  json_build_object("name", 
   json_build_object("lastname", 
    (info->'person'->'name'->>'lastname')))) 
AS val FROM sample;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36861985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档