Cassandra在文本列中保存JSON数据

时间:2019-04-10 20:00:29

标签: java cassandra cassandra-3.0

在Cassandra DB中,我的列名称为custom_extensions,其中可以包含List<AppEncoded>,其中AppEncoded是UDTUDT具有以下字段

  type -> TEXT
  code -> TEXT
  value - TEXT

在将数据保存到DB的同时,value字段可以将输入作为对象。

  CurrencyTO:
  field -> amount
  field -> Symbol
  field -> formattedAmount

将列值保存在数据库中的实现如下:

   JacksonJsonCodec<CurrencyTO> jacksonJsonCodec = new JacksonJsonCodec<>(CurrencyTO.class);
   appEncodedValue.setValue(jacksonJsonCodec.format(CurrencyTO.getValue()));

CurrencyTo正在扩展具有以下属性的TranserObject。 如果我在数据库中看到以下结果:

 "value": "'{\"serviceResult\":{\"messagesResult\":[]},\"attributeNames\":[\"amount\",\"isoCode\",\"symbol\",\"decimalValue\",\"formattedAmount\"],\"metadata\":null,\"this\":null,\"amount\":\"45\",\"isoCode\":\"USD\",\"symbol\":\"$\",\"decimalValue\":2.0,\"formattedAmount\":null}'"

结果中还添加了serviceResultmessageResultmetadata和一些\字符。

预期结果应与数据库中的类似

"value": {
  "amount": 90,
  "Symbol": "$",
  "formattedAmount" : "90.00"
}

我遵循的实现参考是: custom_codecs

0 个答案:

没有答案