【问题标题】:Make JSONObject Serializable使 JSONObject 可序列化
【发布时间】:2012-10-22 14:32:38
【问题描述】:

JSONObject 包类 org.codehaus.groovy.grails.web.json 没有实现 Serializable

我想让这个对象可序列化,因为我在应用服务器之间使用会话复制,JSONObject 被保存在会话中。

我有两种选择来实现这一点:

  1. 实现Serializable 的子类JSONObjects。
  2. 在会话中保存此对象时,对JSONObject 对象使用toString() 方法。

谁能建议我应该使用两个选项中的哪一个,原因是什么?

【问题讨论】:

    标签: java session grails serialization deserialization


    【解决方案1】:

    我认为toString 方法是这里要使用的。该方法已经返回了对象的JSON文本,适合传输或存储。

    【讨论】:

    • 在会话中保存对象时使用 toString() 很好,但是当我从会话中取回该对象时,我将获得字符串,然后我需要从字符串构造 JSONObject。跨度>
    • @user1180463 对,您可以使用JSONObject(java.lang.String string) 构造函数来做到这一点。我不知道这是否会对序列化/反序列化对象产生或多或少的性能影响。任何一种方法都会有一些对象创建开销。
    【解决方案2】:

    您不需要序列化 ​​JSON,它已经是可存储的形式(类似于 JSON 的全部要点)。 Grails 有 JSON 解析器和“slurpers”,所有这些都可以供您使用。因此,只需将 JSON 数据存储为字符串,并在其上使用解析器将其从文件中读取出来。

    【讨论】:

      猜你喜欢
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      相关资源
      最近更新 更多