3

FlexJson に切り替えたばかりですが、すでに問題が発生しています。

http://flexjson.sourceforge.net/のドキュメントの章には次のようにControlling JSON naming with @JSON記載されています。

オブジェクトがシリアル化されると、JSON オブジェクトのプロパティの名前は Java プロパティの名前から決定されます。これは、getter メソッドの名前またはフィールド名が使用されることを意味します。ただし、JSON 出力が Java オブジェクトで使用される名前と一致しない場合があります。これは @JSON アノテーションを使用して制御できます。例えば:

    public class Species {
        @JSON(jsonName = "genus")
        private String type;

        private String name;

        @JSON(jsonName="species")
        public String getName() {
           return name;
        }
    }

それが機能しないことを除いて。そして彼らは言う:

@JSON.jsonName の定義は、シリアル化と逆シリアル化の両方で使用されます。

http://flexjson.sourceforge.net/javadoc/index.htmlでJavadoc を調べると、@JSON アノテーションに属する 4 つのオプション要素があることがわかります。

名前 objectFactory トランスフォーマーを含める

例のように、どれもありませんjsonName

では、この注釈を機能させるにはどうすればよいので、異なる Java と json の名前を付けることができますか? この注釈要素を定義したり、事前定義された要素を利用したりするにはどうすればよいですかname

明確にするために、注釈を付け@JSONてオートコンプリートの推奨事項を作成できますが@JSON(include)include解決できません...

FlexJson 2.1 を使用しており、flexjson.JSON をインポートしました。

ところで、私はこの答えhttps://stackoverflow.com/a/8879616/2001247を認識していますが、それは私が望むものではありません。注釈を使用したい。

4

1 に答える 1

5

FlexJson 3.2を使用する必要があります

問題は、開発者サイトからアクセスできる最新の jar のバージョン番号が 2.1 であることです。ただし、java doc はバージョン 3.2 に対応しています。
FlexJson 3.2 jar は maven リポジトリにあります。

于 2014-05-17T02:49:44.610 に答える