【问题标题】:Using Datastax Java Driver to return JSON使用 Datastax Java 驱动程序返回 JSON
【发布时间】:2016-05-30 15:43:21
【问题描述】:

我正在尝试使用 datastax java 驱动程序并检索并返回 JSON。

ResultSet resultSet = session.execute("SELECT JSON * FROM event");

Row row = resultSet.one();
String json1 = row.getString(0);
String json2 = row.getString("[json]");

    System.out.println(resultSet.toString());
returns  ResultSet[ exhausted: false, Columns[[json](varchar)]]

此时,我知道检索一行的代码。我希望将所有行作为 json 字符串返回

【问题讨论】:

  • 您不想将 all 行检索为 JSON 字符串。因为如果有 100 万行,您将拥有一个巨大的字符串 ...
  • @doanduyhai 是的,我想要,但我没有 100 万行......另外它是一个 SQL 查询......
  • 在这种情况下,对所有行执行 for 循环并将 JSON 字符串连接在一起
  • @doandduyhai,不知道如何在 java 上使用这个,docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/…

标签: java json scala cassandra datastax


【解决方案1】:

此时,我知道检索一行的代码。我希望将所有行作为 json 字符串返回。

Java 8 StringJoinerhttps://docs.oracle.com/javase/8/docs/api/java/util/StringJoiner.html

StringJoiner jsonString = new StringJoiner(",", "[", "]");
for(Row row: resultSet.all()) {
   String json = row.getString(0);
   jsonString.add(json);
}

return jsonString.toString();

【讨论】:

  • 我用过StringBuilder,StringJoiner绝对是更好的选择。谢谢!
猜你喜欢
  • 2015-10-24
  • 2016-11-29
  • 2016-11-29
  • 2013-09-06
  • 2014-09-19
  • 2013-10-19
  • 2018-02-15
  • 1970-01-01
  • 2013-09-09
相关资源
最近更新 更多