java - 如何在 JSON 而不是 MySQL 上加载数据?(转换代码)
问题描述
我的服务器从 MySQL 加载数据,这是不必要的。我想从本地 JSON 文件加载数据。我怎么能做到这一点?
这是从 MySQL 加载数据的方式:
public static void loadShops() {
shops.clear();
Server.gameDb.executeAwait(new DatabaseStatement() {
@Override
public void execute(Connection connection) throws SQLException {
PreparedStatement statement = null;
ResultSet rs = null;
try {
statement = connection.prepareStatement("SELECT * FROM shops ORDER BY id");
rs = statement.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
ShopType type = ShopType.get(rs.getString("type"));
Currency currency = Currency.get(rs.getString("currency"));
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonObject object = (JsonObject) parser.parse(rs.getString("items"));
ShopItem[] items = gson.fromJson(object.get("shop-items").getAsJsonArray(), ShopItem[].class);
Shop shop = new Shop(name, id, type, currency, items);
shops.put(id, shop);
}
} finally {
DatabaseUtils.close(statement, rs);
}
}
});
}
我怎样才能使它从本地 .JSON 文件而不是 MySQL 加载?
谢谢大家 :D
编辑:我试图做这样的事情:
@Override
public void load(JsonObject rs, Gson builder) {
int id = rs.get("id").getAsInt();
String name = rs.get("name").getAsString();
ShopType type = ShopType.get(rs.get("type").getAsString());
Currency currency = Currency.get(rs.get("currency").getAsString());
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonObject object = (JsonObject) parser.parse(rs.get("items").getAsString());
ShopItem[] items = gson.fromJson(object.get("shop-items").getAsJsonArray(), ShopItem[].class);
Shop shop = new Shop(name, id, type, currency, items);
getShops().put(id, shop);
System.out.println(rs.toString());
}
解决方案
推荐阅读
- javascript - 正则表达式:必须至少有一个数字、一个字母并且应该允许空格
- c# - 使用 IQueryable 和 IEnumerable 时的不同结果
- python - 在Python中为两行数组压缩两个不同的列表
- javascript - 如何向 VSCode 编辑器的扩展发送异步命令
- javascript - 在 Raspberry Pi 上使用 Node.js 写入 i2C 总线
- google-apps-script - 当我使用函数作为脚本触发器时,脚本返回错误
- javascript - 使用 useState 将孩子添加到树中
- javascript - JavaScript 函数调用将编码的单引号 %27 解释为文字
- networking - omnet 可以比 express 模式运行得更快吗?
- python - 如何计算列表中子列表的出现次数并将其显示为 dict