【发布时间】:2021-06-25 07:33:07
【问题描述】:
我是新的 JSON 和 Cassandra 部分,我正在做一个 POC,我在其中接收 JSON 对象流。我有一个配置 JSON,它类似于传入 JSON 对象的子集。现在我正在做的是我有方法可以从 JSON 对象中提取所需字段并映射到如下所示的 POJO 对象
@Table(keyspace = KEYSPACE_NAME, name = DATA_HISTORY_TABLE_NAME, readConsistency = QUORUM,
writeConsistency = QUORUM,
caseSensitiveKeyspace = false,
caseSensitiveTable = false)
public class Table1 implements Serializable {
@PartitionKey
@Column(name = "FIRSTNAME")
private String firstName;
@Column(name = "USER_ID")
private String userId;
@Column(name = "TRASACTION")
private double transactionAmount;
@Column(name = "CREATED_TIMESTAMP")
private Date createdDateTime;
@Column(name = "CREATED_DATE")
private LocalDate createdDate;
}
现在一切都很顺利。我正在尝试使这种方式更加动态,我将配置文件存储在数据库中,该文件将在运行时通过 API 调用拉取。配置文件结构示例如下所示,我可以使用 JSON 路径有多个条件
{
"Condition1": {
"path": ["JSON PATH OF VALUE I WANT TO FETCH"]
}
}
样品条件:
{
"Condition1": {
"path": ["firstName"]
},
"Condition2": {
"path": ["userID"]
}
}
传入的 JSON 可以有任何值,但我想从传入的 JSON 对象流中提取以上两个值并存储到 Cassandra 数据库。我想到了一个解决方案,将传入的 JSON 对象转换为 java POJO 类并提取信息,但由于这是一个流平台,这可能会杀死 JVM。请建议我任何有效的方法来动态映射 JSON 属性。提前致谢。
【问题讨论】:
标签: java json cassandra jsonpath jsonparser