Json对象(de)序列化。具有类层次结构的类型语言

时间:2015-04-27 15:51:11

标签: javascript json scala types jvm

我在Web客户端 - 服务器应用程序中遇到了JSON问题。

上下文: scala(可以是任何带继承的类型语言),typescript + angularjs,NoSql postgresql中的json表示,同样的json发送到Web客户端。

如何将类型添加到json表示以获取以下功能:

  1. 描述了像List
  2. 这样的泛型
  3. 可以在javascript / typescript世界中轻松使用继承
  4. 可以通过json反序列化器逐行反序列化(如SAX),以便在使用最少内存的情况下进行快速转换
  5. 将属性添加到对象,如 {myList:(...),(...),键入:??由于不保证属性顺序,会干扰第3点。

    添加类型作为属性名称列表#Engger#:{myList:(...),(...)} 由于额外的包装器/前缀无处不在,导致客户端代码难看。

    如何解决这个问题?也许有人知道已经支持类型的Scala json库?

    许多图书馆只是假设您知道要加载的是哪种类型......

1 个答案:

答案 0 :(得分:0)

解决方法:仅在服务器端需要优化的反序列化。对于Web客户端,我将JSON从 List#Integer#:{myList:(...),(...)}转换为{myList:(...),(...),输入:“List #Integer#“}

向每个对象添加类型节点使用框架,组件推断,即:angular tree在每个节点只接受一个子容器。拖放不起作用。使用平面类型属性更具可预测性。