Vert.x Row.toJson注意事项

2023-01-27  本文已影响0人  Gascognya
  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类型的对象了。

上一篇 下一篇

猜你喜欢

热点阅读