gpt4 book ai didi

java - 乔克 :Convert String to TableField Object?

转载 作者:行者123 更新时间:2023-12-01 14:11:47 24 4
gpt4 key购买 nike

我正在使用JSON从数据库获取数据,我的数据看起来像这样我已经在数据库中保存了JSON对象,所以在数据库中数据是这样的

{"column":"\"someString\".\"Folder\".\"FolderCentury\"","ascending":true}

我编写了下面的代码来获取数据,因为它的 JSON 对象

    JSONObject jsonObj = geodata.getJSONObject(i);
TableField<Record, T> columnName = (TableField<Record, T>) jsonObj.get("column");

但是问题来了

 jsonObj.get("column");

这一行返回一个类似这样的字符串

 (java.lang.String) "someString"."Folder"."FolderCentury"

但是当我进行转换时抛出异常

java.lang.ClassCastException: java.lang.String cannot be cast to org.jooq.TableField

我想知道如何将 String 更改为 TableField 对象? TableField Interface

最佳答案

您可能认为 JVM 会“神奇地”知道您将 jOOQ TableField 编码为 JSON 字符串文字,这意味着逆操作将同样自动进行。显然,情况并非如此,您必须自己做一些工作。

我能看到的最简单的方法是在编码和实际 TableField 实例之间保留查找映射。

Map<String, TableField<?>> lookup = new HashMap<>();

// SOME_STRING is the generated schema instance
for (Table<?> table : SOME_STRING.getTables()) {
for (Field<?> field : table.fields()) {

// Replace "toString()" by an actual SQL rendering call, if you prefer
lookup.put(field.toString(), (TableField<?>) field);
}
}

关于java - 乔克 :Convert String to TableField Object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18480281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com