java - 如何在 Android 上使用 Wobly 序列化器

标签 java android serialization

我正在寻找在我的 Android 项目中序列化对象的替代方案。我发现Wobly看起来又快又小。我了解如何使用 WoblyImpl 创建 Wobly 包装器,但我完全不知道如何从文件系统写入/读取这些对象?何时运行 WoblyGenerator 以及可以在我的代码中完成吗?有人可以发布代码示例吗?

最佳答案

Wobly 不支持未知对象字段。所以字段如下:

Object a;
List<Object> b;
Map<Integer, Object> c;

无法使用 Wobly 进行序列化。 它支持所有原始类(及其盒装对应类)、所有 Wobly 类以及上述的任何 Array/List/Map 组合。

所以在你的情况下,问题是 JSONArray实现List<Object> 。如果你知道是什么样的物体JSONArray例如 List<Map<Integer, String>> 成立,你可以写:

class Example extends WoblyImpl {
  @WoblyField(id = 0)
  List<Map<Integer, String>> array;

  public void setArray(JSONArray json) {
    array = (List)json;
  }
}

虽然反序列化后你会得到 ArrayList<HashMap<Integer,String>>而不是JSONArray返回。

如果你不知道什么对象JSONArray如果可能的话,让它与 Wobly 一起工作将是痛苦的。您可以在这里查看序列化库的全面比较: https://github.com/eishay/jvm-serializers/wiki

关于java - 如何在 Android 上使用 Wobly 序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9334067/

相关文章:

C#序列化一个没有无参数构造函数的类

java - 计算数组中随机整数的平均值

java - jclouds-如何唯一标识一组计算实例中的一个节点

Android如何设置一个 View 的透明图片资源?或删除图像?

android - 我如何在android中添加填充矢量文件

java - 无法实例化 Activity 演示应用程序 Google Play 示例

java - 强制序列化静态字段

java - 上传 Excel 文件时内容类型与预期不符

java - 获取:&quot; when converting Json object to XML in Java

php - 使用接受序列化对象作为值的 PDO 将模式对象动态存储到数据库的函数