代码之家  ›  专栏  ›  技术社区  ›  Alexander Oh

将ruby哈希序列化为具有序列化名称的json

  •  0
  • Alexander Oh  · 技术社区  · 7 年前

    require 'json'
    h = {  :foo => 1, :bar => 1 }
    h.to_json # will do '{ "foo" : 1, "bar" 1 }'
    

    我发现最好的方法是重新设置密钥并序列化: https://stackoverflow.com/a/4137966/887836

    如果可以的话,我更喜欢用声明性的方式来指定它。

    public class MyClass {
      @SerializedName("Foo") String foo;
    
      public MyClass(String foo) {
        this.foo = foo;
      }
    }
    
    0 回复  |  直到 7 年前
        1
  •  1
  •   nPn    7 年前

    我认为你的问题是把“苹果”比作“橙子”。在java中,有一个类 定义可以自由添加注释的位置。然后,诸如gson之类的库可以使用这些注释来定制该类实例的序列化。

    在ruby的例子中,您讨论的是 内置 类(Hash),您不能自由地对其进行注释(除非您希望使用monkey path Hash)。

    如果您想坚持将数据作为哈希实例保存,那么我认为您应该坚持您在注释中发现并提出的各种转换。

    推荐文章