1

"text" : {} と "text" : "blah blah blah" を返すことがあるため、Bugzilla サーバーから戻ってくる JSON で問題が発生しています。Bugzilla は、バグの説明がない場合、前者を返します。なぜもっと賢明な "text" : "" として戻ってこないのか、私は当惑していますが、そうです。

Gson のターゲット オブジェクトに text という名前の文字列がある場合、{} ケースが表示されると、それは文字列ではなくオブジェクトであることが示されているため、オブジェクトはオブジェクトになります。

Exception in thread "main" com.google.gson.JsonParseException: The 
JsonDeserializer StringTypeAdapter failed to deserialized json object {} given 
the type class java.lang.String

Gsonにこれを解析させる方法について何か提案はありますか?

4

2 に答える 2

0

textフィールドを と宣言してみてくださいObject。次に、次のようにします。

public String getTextAsString() {
    if (text instanceof String) {
        return (String) text;
    else {
        return null;
    }
}

これを Bugzilla プロジェクトにバグとして報告する必要があります。この動作には正当な理由はありません。

于 2011-01-03T17:59:53.193 に答える