java - 将 json 对象中的日期发送到 Restful ws

标签 java android json rest jakarta-ee

我想将 json 对象中的日期(和其他信息)从 android 应用程序发送到 Restful WS

这就是我在 Android 应用程序中所做的。

        String date =  mFormat.format(Double.valueOf(mYear)) + "-" +  mFormat.format(Double.valueOf(mMonth+1)) + "-" +  mFormat.format(Double.valueOf(mDay)
                );
// so i will have somthing like date = "2016-03-30"

        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.FRANCE);
        Date dateFin;
       dateFin= df.parse(date);
       jsonObject.put("datefin", dateFin);

在Web服务中,我使用hibernate与MySql进行ORM,它可以将对象插入数据库,但日期字段始终为NULL

来自网络服务的快照

@POST
@Path("/add")
public Response addOffer(Offers offer) throws IOException {
    offerService.addOffer(offer);
    return Response.status(Status.CREATED).entity(offer).build();

}

这是方法 addOffer。

public void addOffer(Offers offer) {

    // Offers f = new Offers("name","desc","category","market ",longitude,latitude,date);
    Session session = createSessionFactory().openSession();
    Transaction tx = null;
    try {

        tx = session.beginTransaction();
        session.save(offer);
        tx.commit();

    } catch (HibernateException e) {
        if (tx != null)
            tx.rollback();
        e.printStackTrace();
    } finally {
        session.close();
    }

}

那么有什么想法为什么会发生这种情况以及如何解决它吗?

最佳答案

最后我发现如果日期不是这种格式

yyyy-MM-dd'T'HH:mm:ssZ

Restful WS 拒绝将其用作日期,因此我将代码更改为

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.FRANCE);

当然我没有时间,所以时间是 00:00:00

关于java - 将 json 对象中的日期发送到 Restful ws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36043704/

相关文章:

java - Arquillian 测试的回滚事务 - 获取 NullPointerException

java - IntelliJ 不更新 Wildfly8.2 上的网页资源

javaw.exe 在创建 JFrame 时崩溃

java - 为什么 child 会被夹在定制的 toast 里?

java - — 特殊字符解码

python - 如何将 Tinder data.json 转换为 CSV

java - Android 应用程序关闭后从设备中删除照片

java - Google Play 游戏服务 BaseGameUtils 中没有 getApiClient()

java - Android:如何从 res/drawable 检索图像并将其放入 WebView.loadUrl()

C# 反序列化 JSON 数据