我正试图在使用GWT开发的基于计算机的测试web应用程序中实现AssessmentItem(问题)的IMS QTIv2.1规范。问题是,QTI标准中的数据(问题)是以XML格式编码和传递的,我打算将其转换为JSON以实现更轻松的传输。这些数据描述了应用程序如何在候选人尝试后呈现问题并打分。
因此,我的问题是,我是否可以使用ANTLR来解析和解释这种JSON编码的QTI数据,以便我的应用程序(web/HTML5 mobile)能够相应地显示和处理问题。
JSON语法只是十几个或两个产品,因此当然您可以使用ANTLR构建JSON解析器。
但很可能你不应该。现在是2014年了,所以为JSON编写自己的低级解析器(这就是ANTLR的结果)具有很强的"重新发明轮子"的天赋。
我不确定什么能最好地使用GWT,但当涉及到服务器端的JSON处理时,这里有几个"常见的问题":
- 杰克逊
- GSON
由于您的数据是XML格式的,并且可能有一个XML模式,所以一定要检查Jackson/JJAXB组合。这将允许您将XML分解为POJO,并将其封送为JSON。
我的Jsonix库可以在客户端做类似的事情(XMLSchema驱动的XML<->JSON转换)。您可以生成XML<->JSON映射,并将QTI数据从XML直接解析为客户端上的JSON结构。我不确定这是否适合你的情况,包括这只是一个提示。
免责声明:我是上述Jsonix库的作者。