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类型的对象了。