Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 改型从mysql数据库获取Datetime字段返回空值_Android_Mysql_Datetime_Gson_Retrofit - Fatal编程技术网

Android 改型从mysql数据库获取Datetime字段返回空值

Android 改型从mysql数据库获取Datetime字段返回空值,android,mysql,datetime,gson,retrofit,Android,Mysql,Datetime,Gson,Retrofit,我正在尝试使用mysql数据库中的改型来获取Datetime字段 这是GsonBuilder和RestAdapter: Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); RestAdapter restAdapter = new RestAdapter.Builder(). setEndpoint(MainActivity.baseUrl2).

我正在尝试使用mysql数据库中的改型来获取Datetime字段

这是GsonBuilder和RestAdapter:

        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();

    RestAdapter restAdapter = new RestAdapter.Builder().
            setEndpoint(MainActivity.baseUrl2).
            setConverter(new GsonConverter(gson)).
            build();
这是我解析JSON的内部类:

   public static class User {

        private String uid;
        private String name;
        private Date birthDate;
        private String username;
        private String path;
        private Date createdAt;
        private Object updatedAt;
        private Map<String, Object> additionalProperties = new HashMap<String, Object>();

.... getters();
..... setters();
}
I/System.out﹕ 零,24,零,零

这是返回的JSON:

{
success: 1
unique_id: "54dfb704838680.85365105"
user: {
 uid: "24"
 name: "yy"
 birth_date: "2014-02-15"
 username: "ff"
 path: "http://192.168.1.10/ci2/user_pics/user24.jpg"
 created_at: "2015-02-14 22:58:44"
 updated_at: null
}-
}

按照代码的设置方式,Gson认为在解析时应该查找字段
uid
name
生日
等等。这不好,因为json中的实际字段是
uid
name
birth\u date
,等等。这就是问题所在

要正确地将json映射到您的对象,您应该使用
@SerializedName
注释,如下所示:

public static class User {
    private String uid;
    private String name;
    @SerializedName("birth_date")
    private Date birthDate;
    // ..
}

我建议您注释类中的每个字段(甚至是那些名称与字段匹配的字段),因为这样可以消除重构或Proguard的问题。

您的代码设置方式,Gson认为在解析时应该查找字段
uid
name
birthDate
,等等。这不好,因为json中的实际字段是
uid
name
birth\u date
,等等。这就是问题所在

要正确地将json映射到您的对象,您应该使用
@SerializedName
注释,如下所示:

public static class User {
    private String uid;
    private String name;
    @SerializedName("birth_date")
    private Date birthDate;
    // ..
}

我建议您注释类中的每个字段(甚至是那些名称与字段匹配的字段),因为这样可以消除重构或Proguard的问题。

您的代码设置方式,Gson认为在解析时应该查找字段
uid
name
birthDate
,等等。这不好,因为json中的实际字段是
uid
name
birth\u date
,等等。这就是问题所在

要正确地将json映射到您的对象,您应该使用
@SerializedName
注释,如下所示:

public static class User {
    private String uid;
    private String name;
    @SerializedName("birth_date")
    private Date birthDate;
    // ..
}

我建议您注释类中的每个字段(甚至是那些名称与字段匹配的字段),因为这样可以消除重构或Proguard的问题。

您的代码设置方式,Gson认为在解析时应该查找字段
uid
name
birthDate
,等等。这不好,因为json中的实际字段是
uid
name
birth\u date
,等等。这就是问题所在

要正确地将json映射到您的对象,您应该使用
@SerializedName
注释,如下所示:

public static class User {
    private String uid;
    private String name;
    @SerializedName("birth_date")
    private Date birthDate;
    // ..
}

我建议您注释类中的每个字段(甚至是那些名称与字段匹配的字段),因为这样可以消除重构或Proguard的问题。

为什么用php标记这个字段?您没有显示任何JSON。如果没有这个,我只能假设JSON中省略了这些字段。为什么用php标记这些字段?您没有显示任何JSON。如果没有这个,我只能假设JSON中省略了这些字段。为什么用php标记这些字段?您没有显示任何JSON。如果没有这个,我只能假设JSON中省略了这些字段。为什么用php标记这些字段?您没有显示任何JSON。如果没有这个,我只能假设JSON中省略了这些字段。