所以我将出生日期插入API,API返回更新后的信息,我应该在处理java后端数据后在另一页上显示。
以下是JSON中返回的内容:
"firstname": "John",
"middlename": "The",
"lastname": "Doe",
"displayName": "John The Doe",
"dateOfBirth": [
1994,
3,
26
]
所以我遇到了麻烦,就是在单独的变量中选出3(年/月/日),因为如果03中没有0(例如火星)我想加0,那么同样如此一天。
我在这里得到了这个对象:
@Override
public Object getDateOfBirth() {
return get("dateOfBirth");
}
但我得到的[1994,3,26]
显然在网站上看起来很糟糕。
你如何得到不同变量的3“1994,3,26”?
非常感谢任何帮助。
答案 0 :(得分:1)
如果您使用的是Java 8或更高版本,则可以使用LocalDate
。 LocalDate
类表示没有时间且没有时区的仅限日期的值。
LocalDate.of(year, month, day); //2015-12-22
LocalDate.of(Integer.parseInt(dateOfBirth[0]), Integer.parseInt(dateOfBirth[1]), Integer.parseInt(dateOfBirth[2]));
答案 1 :(得分:0)
看看this link这可以提供帮助。 我可以建议你使用Gson
如果您使用maven将此依赖项添加到pom
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
public class MyJsonAsClass
{
private String firstname;
private String middlename;
private String lastname;
private String displayName;
private List<String> dateOfBirth;
public MyJsonAsClass()
{
}
public static MyJsonAsClass fromString(String json)
{
Gson gson = new Gson();
MyJsonAsClass info = gson.fromJson(json, MyJsonAsClass.class);
return info;
}
/*you need to add getters & setters */
public List<String> getdateOfBirth()
{
for (String date : dateOfBirth) {
if (date.length()==1)
date='0'+date;
}
return dateOfBirth;
}
答案 2 :(得分:0)
但是我[1994,3,26]显然在网站上看起来非常糟糕。
你如何得到3&#34; 1994,3,26&#34;在不同的变量?
您可以将返回的数组对象的输出转换为自定义格式以供显示。假设get("dateOfBirth")
返回Array
个对象。你可以做类似的事情......
String result = Arrays.toString(dateOfBirthArrayObject).replaceAll("[\\[\\]]", "");
System.out.println(result);
输出: 1994,3,26