Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java sparql以字符串json格式填充jtable结果_Java_Json_Sparql - Fatal编程技术网

Java sparql以字符串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

我尝试用json数据填充jtable,我尝试了一些解决方案,如

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
都有变量绑定。使用此函数创建表模型