node-modules/hessian.js

_writeObject字段丢失

Opened this issue · 1 comments

{
  "$class": "java.util.List",
  "$": [
    {
      "$class": "a",
      "$": {
        "id": {
          "$class": "java.lang.Long",
          "$": "33341"
        },
        "status": {
          "$class": "java.lang.Integer",
          "$": 2
        }
      }
    },
    {
      "$class": "a",
      "$": {
        "id": {
          "$class": "java.lang.Long",
          "$": "33342"
        },
        "status": {
          "$class": "java.lang.Integer",
          "$": 3
        },
        "reason": {
          "$class": "java.lang.Integer",
          "$": 33
        }
      }
    }
  ]
}

这种情况reason字段会丢失,麻烦看一下

因为首次解析类的时候已经定义好类型了
hessian这边看起来不大好处理,class必须严格按照定义。
这种情况可以在上层控制,例如自动通过类型补全参数。

{
  "$class": "java.util.List",
  "$": [
    {
      "$class": "a",
      "$": {
        "id": {
          "$class": "java.lang.Long",
          "$": "33341"
        },
        "status": {
          "$class": "java.lang.Integer",
          "$": 2
        },
        "reason": {
          "$class": "java.lang.Integer",
          "$": null
        }
      }
    },
    {
      "$class": "a",
      "$": {
        "id": {
          "$class": "java.lang.Long",
          "$": "33342"
        },
        "status": {
          "$class": "java.lang.Integer",
          "$": 3
        },
        "reason": {
          "$class": "java.lang.Integer",
          "$": 33
        }
      }
    }
  ]
}