当前位置: 首页 > 知识库问答 >
问题:

如何以yyyy-mm-dd格式从JSON中提取年、日、月作为单独字段的日期

白青青
2023-03-14
   {
    "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格式,提取并连接字符串。请提前帮助以上感谢。

共有1个答案

狄雅珺
2023-03-14

CreateTransactionDate.java类witch包含三个字符串字段YearMonteDay,其中包含getter和setter。然后,创建TransactionDetails.java类,其属性类型为TransactionDate并使用gson库将JSON字符串转换为java对象。您可以通过本文了解如何使用GSON

然后,在transactiondate.java类中,可以将tostring()方法重写为以下内容:

@Override
String toString() {
  return this.year + " " + this.month + " " + this.day;
}

最后,返回TransactionDate字符串的instad,您可以从TransactionDetails中获取TransactionDate对象并返回其字符串表示形式。

 类似资料:
  • 问题内容: 我想在Java中解析这种格式为dd / MM / yyyy [至dd / MM / yyyy]的String的最佳方法是什么。带[]的字符串是可选的,dd代表日期的2位数字表示,MM是月份的2位数字表示,yyyy是年份的4位数字表示。 更新资料 谢谢大家的快速响应,但是我忘了告诉您[]是象征可选的,字符串中没有[]示例字符串可能是 22/01/2010 从22/01/2010至23/0

  • 我有一个日期2019-09-30,我想在dart中将其转换为2019-09-30

  • 问题内容: 我正在尝试从转换日期。我已经使用了mktime()函数和其他函数,但是我似乎无法使其工作。我已经成功地将原始日期用作定界符,但更改格式并将其与交换时没有成功。 任何帮助将不胜感激。 问题答案: 通过查看各个组成部分之间的分隔符,可以消除或格式中的日期的歧义:如果该分隔符是斜杠(),则假定为American ;否则,为0。反之,如果分隔符是破折号()或点(),则采用欧洲格式。 使用默认的

  • 我有一个格式为。我希望它的格式为 下面是我尝试进行此转换的示例util: 但是,我得到的输出不是格式。 请告诉我如何将从格式化为

  • 问题内容: 好吧,我正在使用a进行详细说明,因为我从数据库中获取了一个对象,并且从同一对象中获得了一个变量“ fecha”(日期),因此我得到了a ,因此formatt以毫秒为单位,但是我不想出现毫秒。因此,我需要将我从数据库中收到的日期格式化为没有毫秒的新日期。 这是对象Factura: 在映射到数据库的xml中,我具有该变量“ fecha”的代码: 在数据库中,该列为。 当我从数据库中获取一个

  • 我想将日期从07/02/2019转换为2019年7月07日。我的输入值是07/02/2019我想与目标值2019年7月07日进行比较.....请帮助我... public static void main(string[]args)引发ParseException{ 输出:Mon Jul 01 00:00:00 IST 2019这不是我的期望值