【发布时间】:2015-05-06 00:21:25
【问题描述】:
我已成功编写代码,使用 Google GSON 将 SQL 结果集的第一条记录写入 JSON。
不幸的是,当结果集有超过 1 条记录时,它会引发以下异常:
JSON 必须只有一个顶级值
这是我的代码:
HttpServletResponse httpres = response;
httpres.setContentType("application/json; charset=UTF-8");
httpres.setCharacterEncoding("UTF-8");
JsonWriter writer = new JsonWriter(new OutputStreamWriter(
httpres.getOutputStream(), "UTF-8"));
while (rs.next()) {
writer.beginObject();
// loop rs.getResultSetMetadata columns
for (int idx = 1; idx <= rsmd.getColumnCount(); idx++) {
writer.name(rsmd.getColumnLabel(idx)); // write key:value pairs
writer.value(rs.getString(idx));
}
writer.endObject();
}
writer.close();
httpres.getOutputStream().flush();
我该如何解决这个问题?
【问题讨论】:
-
使用 writer.beginArray() FYR developer.android.com/reference/android/util/JsonWriter.html