1

xsd スキーマから Jsonix (2.x) マッピング ファイルを作成すると、列挙とすべての許容値がキャプチャされます。

 {
    type: 'enumInfo',
    localName: 'TrackAdvanceNotificationStatusType',
    baseTypeInfo: 'String',
    values: ['BACK_ON_TRACK', 'FAIL']
  }

JavaScriptコード内からこれらの列挙値を便利に活用できる方法はありますか、それともJsonixの内部使用のみを目的としていますか?

4

1 に答える 1

0

免責事項:私はJsonixの作成者です。

はい、次のことができます。

  • Jsonix コンテキストから、context.getTypeInfoByTypeNameKey('{urn:ns}TrackAdvanceNotificationStatusType')XML スキーマ型名を介して型を検索します。context.getTypeInfoByTypeName(...)次のバージョンでは、修飾名または文字列を受け入れる、より便利ながあります。
  • 型情報のインスタンスを取得します。列挙型の場合、これは のインスタンスになりますJsonix.Model.EnumLeafInfo
  • typeInfo.entries文字列値/マーシャリングされていない値のキー/値ハッシュマップです。

ただし、ここで警告があります。パブリック/プライベート API の概念はまだ導入していません。したがって、この API が将来のバージョンで変更される可能性は最小限です。可能性は低いですが、警告するのは当然です。

解析された値だけでなく、列挙型の文字列値も含まれるため、Jsonix によって準備された型情報を使用することをお勧めします。文字列ベースの列挙型の場合は関係ありませんが、文字列以外の他の単純な型がある場合は、「実際の」値に関心があるかもしれません。

于 2015-04-08T22:03:52.873 に答える