Json GWT Autobeans,将根级别解析为映射或列表
汽车人非常强大。然而,就我的一生而言,我不知道如何处理根级别的JSON映射或列表 大多数文档都表明您有一个定义的顶级对象,该对象可以包含各种子对象(包括列表和贴图),但没有关于自动显示贴图或列表的文档Json GWT Autobeans,将根级别解析为映射或列表,json,gwt,autobean,Json,Gwt,Autobean,汽车人非常强大。然而,就我的一生而言,我不知道如何处理根级别的JSON映射或列表 大多数文档都表明您有一个定义的顶级对象,该对象可以包含各种子对象(包括列表和贴图),但没有关于自动显示贴图或列表的文档 public interface Types { List<FieldType> getTypes(); } public interface TypesAutoBeanFactory extends AutoBeanFactory { AutoBean<Typ
public interface Types {
List<FieldType> getTypes();
}
public interface TypesAutoBeanFactory extends AutoBeanFactory {
AutoBean<Types> jsonItems();
}
但是,我发现这很难看,REST服务应该正确返回:
[{...},{...}]
但是我找不到一个简单的方法来处理Autobean框架。根级别映射也是如此
为什么这不起作用?是否有替代方案:
public interface TypesAutoBeanFactory extends AutoBeanFactory {
AutoBean<List<FieldType>> jsonItems();
}
公共接口类型SautoBeanFactory扩展了AutoBeanFactory{
AutoBean jsonItems();
}
AutoBean的工作原理是扫描类中的get
和set
方法(可能也是方法)<代码>列表
没有这些方法
您可以编写一个补丁,将内部列表
解析方法直接挂接到AutoBeanCodex
的外部解码
方法-您需要的大部分代码都在那里。您可以添加解码列表(可拆分输入)
,而不是解码(类类型,可拆分输入)
。结果可能是一个实际的列表,而不是一个自动bean。我可以看到的另一个简单方法是不完全自动bean解决方案
很明显,若字符串以[{
开头,那个么它的数组就不是了,所以我们可以使用
Object[] array = jsonString.replaceAll("[\[\]]","").split(",");
然后使用autobean处理数组元素。我使用您描述的方法来解码包含单个键下列表的JSON有效负载
还解释了将您提到的方法与unkeyed JSON列表有效负载相结合的另一种方法。我明白您的意思,尽管这两种解决方案都不是非常干净的解决方案。第二种解决方案可能是两者中更好的一种。相反,我可能可以对splittable list和ultimate中的每个对象进行解码我只需要返回列表。我还需要地图,但这可能更棘手…还有更多的想法,但感谢您提供更好的方向。
Object[] array = jsonString.replaceAll("[\[\]]","").split(",");