java - 如何从 JSON 中提取日期,其中年、日和月作为单独的字段,格式为 yyyy-mm-dd
问题描述
我是 JSON 新手,为了获取用户的交易详细信息,我正在从 API 的 JSON 响应中对 Web 服务之一进行 API 调用,交易日期如下
{
"trasanction_date": {
"year": 2021,
"month": 6,
"day": 16
}
}
我需要将上述日期转换为 yyyy-mm-dd 格式以将其插入 Cassandra。现在我的转换方式是,我正在从上面的字符串创建新的 JSONObject,比如
JSONObject trasaction = new JSONObject("{\"trasanction_date\":{\"year\":2021,\"month\":6,\"day\":16}}");
JSONObject date = trasaction.get("trasaction_date");
String year = date.getString("year");
String month = date.getString("month");
String day = date.getString("day");
//concatenating the final result to frame the date
String transactionDate = year+month+Day
有没有一种方法可以有效地将上述 JSON 转换为 yyyy-mm-dd 格式,而无需提取和连接字符串。请提前帮助上述感谢。
解决方案
CreateTransactionDate.java
类女巫包含三个字符串字段year
, month
,day
和 getter 和 setter。然后,创建TransactionDetails.java
具有类型属性的类TransactionDate
,并使用gson库将 JSON 字符串转换为 java 对象。你可以看看这篇文章,看看如何使用gson
然后在TransactionDate.java
类中,您可以将toString()
方法覆盖为如下所示:
@Override
String toString() {
return this.year + " " + this.month + " " + this.day;
}
最后,除了返回transactionDate
字符串,您还可以从中获取TransactionDate
对象TransactionDetails
并返回它的字符串表示形式。
推荐阅读
- d3.js - D3.js Sankey Chart - 如何突出显示来自节点的链接集?
- c# - 如果用户在我的 C# 程序中打印“x”,我如何让控制台应用程序退出?
- charts - 通过 DOCX4J 编辑图表时查找嵌入的 XLSX 文件的文件名
- javascript - 在 Vue 中设置全局 props 值
- python - 我的数学程序的问题:一个问题说我正确时我错了,另一个问题什么也没产生
- python - 在树视图中编辑值并更新
- javascript - 用于查询转换的 Javascript 正则表达式
- apache-spark - 如何通过代码而不是 spark-submit 为 Spark 作业提供 keytab
- android-studio - Flutter 和 Dart 安装在 Android Studio 和应用程序构建中,但它是 janky 并且 Flutter Doctor 说它没有安装
- javascript - 如何在没有 pkg 管理器的情况下使用 jsPDF?