0

オブジェクトを JSON 文字列に変換するために JsonSerializer を使用していますが、順序が間違っています。属性は自動的にアルファベット順にソートされますが、クラスにリストされている順序で並べたいです (たとえば、「endPoint」は「startPoint」の前に表示されません)。

JsonSerializer を呼び出すとき。4 つのメソッド (toJava または toJson) しか表示されません。注文にインクルードしようとしましたが、うまくいきません/正しく実行していません。私がやっている方法は次のようなものです:

return new String[]{"errorDescription", "searchResultRecord.billOfLadingNumber", 
"searchResultRecord.bookingNumber", "searchResultRecord.advancedManifest", 
"searchResultRecord.inboundCustomsClearanceStatus", "searchResultRecord.cargoReleaseStatus", "searchResultRecord.freightChargeReleaseStatus", 
"searchResultRecord.container.containerNumber", "searchResultRecord.container.latestEvent.event", 
"searchResultRecord.container.latestEvent.location", "searchResultRecord.container.latestEvent.time"};

ご覧のとおり、obj.obj.attr パーツが含まれています。しかし、このコードを実行しようとすると、出力文字列に「errorDescription」しか表示されません。次に、属性なしで「searchResultRecord」を試しましたが、出力に2つの属性しか表示されませんでした:x

アルファベット順ではないように順序を修正する方法はありますか? オンラインのすべての例は、よりアクセスしやすいメソッドを備えた古いバージョンのクラスのもののようです〜情報をありがとう.

4

1 に答える 1

2

使用してみることができます

@XmlType(propOrder={"startPoint", "endPoint"})

として定義したクラスで@XmlRootElement。これらの属性と必要なその他の属性は、 で定義したとおりに並べ替えられますpropOrder

于 2012-09-18T16:39:21.597 に答える