我在通过sparql查询反序列化来自dbpedia的json对象时遇到问题。
我使用gson反序列化它,并使用此工具生成对象类:jsongen.byingtondesign.com
sparql查询url的json输出:
http://goo.gl/b4oF1
或:
http://labs.tedux.com/sparqlDONE.json
当我在android sdk中使用生成的类时,其中一个类出错,原因如下:
{
type: "literal",
xml:lang: "en",......
所以我从类中删除了这个xml:lang,但是当我试图通过gson反序列化对象时,除了description类之外,我得到了整个反序列化的json对象。
你知道可以反序列化吗??
描述类:
import java.util.List;
public class Description{
private String type;
private String value;
private String xml:lang;
public String getType(){
return this.type;
}
public void setType(String type){
this.type = type;
}
public String getValue(){
return this.value;
}
public void setValue(String value){
this.value = value;
}
public String getXml:lang(){
return this.xml:lang;
}
public void setXml:lang(String xml:lang){
this.xml:lang = xml:lang;
}
}
最佳答案
由于冒号不是有效语法,Java类不会编译。
主要的问题是原始的json…在json中,冒号作为属性名也无效。
因此,您应该将json更改为如下所示:
{
type: "literal",
xmllang: "en"
}
然后重新生成类文件。