从xsd架构创建Jsonix(2.x)映射文件时,它会捕获枚举和所有可接受的值,例如
{
type: 'enumInfo',
localName: 'TrackAdvanceNotificationStatusType',
baseTypeInfo: 'String',
values: ['BACK_ON_TRACK', 'FAIL']
}
有什么方法可以方便地从我的javascript代码中利用这些枚举值,还是仅仅用于Jsonix内部使用?
答案 0 :(得分:0)
免责声明:我是Jsonix的作者。
是的,你可以:
context.getTypeInfoByTypeNameKey('{urn:ns}TrackAdvanceNotificationStatusType')
以通过XML Schema类型名称查找类型。在下一个版本中,您将拥有一个更方便的context.getTypeInfoByTypeName(...)
,它接受限定名称或字符串。Jsonix.Model.EnumLeafInfo
。typeInfo.entries
是字符串值/ unmarshalled值的键/值hashmap。但是这里有一个警告:我还没有介绍公共/私有API的概念。因此,此API在未来版本中将发生变化的可能性极小。这是不太可能的,但警告是公平的。
最好使用Jsonix编写的类型信息,因为它将具有枚举的字符串值以及解析的值。对于基于字符串的枚举,这是无关紧要的,但如果您有其他非字符串简单类型,您可能会感兴趣"真实"值。