3

DBpedia からの json オブジェクトを sparql クエリでデシリアライズする際に問題があります。gson を使用してデシリアライズし、このツールを使用してオブジェクト クラスを生成しました: jsongen.byingtondesign.com

sparql クエリ URL の JSON 出力: http://goo.gl/b4oF1

または: http://labs.tedux.com/sparqlDONE.json

Android SDK内で生成されたクラスを使用すると、そのうちの1つでエラーが発生しました:

 {
    type: "literal",
    xml:lang: "en",......

そのため、このxml:lang をクラスから削除しましたが、gson でオブジェクトを逆シリアル化しようとすると、説明クラスを期待して 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;
}
}
4

2 に答える 2

1

コロンが有効な構文ではないため、Java クラスはコンパイルされません。

主な問題は元の json でした... コロンは json のプロパティ名としても有効ではありません。

したがって、json を次のように変更する必要があります。

{
    type: "literal",
    xmllang: "en"
}

次に、クラス ファイルを再生成します。

于 2012-04-24T05:17:30.610 に答える
0

私はPHPWebサービスを作成することでそれを乗り越え、今ではWebサービスにクエリを実行してAndroidアプリ用にカスタマイズされたJsonオブジェクトを取得しています。

于 2012-02-19T13:43:44.457 に答える