Java sparql以字符串json格式填充jtable结果
我尝试用json数据填充jtable,我尝试了一些解决方案,如Java sparql以字符串json格式填充jtable结果,java,json,sparql,Java,Json,Sparql,我尝试用json数据填充jtable,我尝试了一些解决方案,如 String json = " ObjectMapper mapper = new ObjectMapper(); List<User> users = mapper.readValue(json,TypeFactory.defaultInstance().constructCollectionType(List.class, User.class)); UserTableModel model = new UserT
String json = "
ObjectMapper mapper = new ObjectMapper();
List<User> users = mapper.readValue(json,TypeFactory.defaultInstance().constructCollectionType(List.class, User.class));
UserTableModel model = new UserTableModel(users);
tableSkill = new JTable(model);
stringjson=”
ObjectMapper mapper=新的ObjectMapper();
List users=mapper.readValue(json,TypeFactory.defaultInstance().constructCollectionType(List.class,User.class));
UserTableModel模型=新的UserTableModel(用户);
tableSkill=新的JTable(模型);
但eclipse给了我一个错误,并要求我创建类User和User TableModel,所以我搜索了jar文件以导入它来解决这个问题,但我没有找到它。
任何人都可以帮助我,告诉我我的错误在哪里这里有一个解决方案,可以避免您使用
User
和User TableModel
:
public void runQuerytotable(Model model, String queryString, JTable table,int columns) {
Query query = ARQFactory.get().createQuery(model, queryString);
QueryExecution qexec = ARQFactory.get().createQueryExecution(query, model);
ResultSet rs = qexec.execSelect();
DefaultTableModel m = (DefaultTableModel) table.getModel();
m.setColumnCount(columns);
String[] columnsName = {"URI","label"};
m.setColumnIdentifiers(columnsName);
while(rs.hasNext()) {
QuerySolution sol = rs.nextSolution();
RDFNode URI = sol.get("s");
RDFNode Label = sol.get("o");
m.addRow(new Object[]{URI,Label});
}
}
…有Java类用户吗?!还有UserTableModel?我没有创建它。我看到一个例子,程序员使用json数据创建类用户adapt。但在我的例子中,我不知道该数据将如何,因为数据依赖于sparql查询结果。我发现这个()但是我不知道如何使用它,但是,如果没有类,代码应该如何编译?!如果您不知道SPARQL查询的结果,您想如何将其映射到以Java类的形式表示的域对象?我不明白这一点。Java必须编译代码才能运行它,因此,在运行PARQL查询。我不知道您想要实现什么…将SPARQL查询的结果表示为表非常简单,因为至少对于
SELECT
查询,它基本上是一个resultset,它或多或少是一组绑定,也可以看作是一组行。首先感谢您的回答。我将尝试创建类。请问您,如何在jTable中显示正常“select”的结果“not json”?我使用此函数应用我的查询公共字符串runQuery(Model m,String q){query query query=ARQFactory.get().createQuery(Model,queryString);try(QueryExecution qexec=ARQFactory.get().createQueryExecution(query,Model)){ResultSet actualResults=qexec.execSelect();ByteArrayOutputStream os=new ByteArrayOutputStream();resultFormatter.outputAsJSON(os,actualResults);return os.toString();您拥有ResultSet
。其中的每个QuerySolution
都有变量绑定。使用此函数创建表模型