Vert.x Row.toJson注意事项

  default JsonObject toJson() {
    JsonObject json = new JsonObject();
    int size = size();
    for (int pos = 0;pos < size;pos++) {
      String name = getColumnName(pos);
      Object value = getValue(pos);
      json.put(name, Utils.toJson(value));
    }
    return json;
  }

Row在toJson的过程中,将非Json类型进行了Json化处理。

通常你向JsonObject中添加UUID对象,那么在底层map中,它实际上还是以UUID类型进行存储的。

这样你使用json.get<UUID>(fieldName)是可以获取到正确数据的。

但是如果是Row.toJson,我们可以注意到Utils.toJson(value)。UUID已经被转为String。

在这时候我们再使用json.get<UUID>(fieldName),就无法正确获取UUID类型的对象了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容