Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Gson().fromJson在Android中返回null_Android_Json_Gson_Deserialization - Fatal编程技术网

Gson().fromJson在Android中返回null

Gson().fromJson在Android中返回null,android,json,gson,deserialization,Android,Json,Gson,Deserialization,我正在尝试反序列化从api获得的错误消息,这是我的字符串: {"Message":"Ya existe un usuario registrado con ese email"} 但当我这样调用Gson时,它返回一个带有空值的NetworkError: String message = new Gson().fromJson(jsonMessage, NetworkError.class).getMessage(); 我一直在研究类似的问题,并意识到在NetworkError类中一定有错误,

我正在尝试反序列化从api获得的错误消息,这是我的字符串:

{"Message":"Ya existe un usuario registrado con ese email"}
但当我这样调用Gson时,它返回一个带有空值的
NetworkError

String message = new Gson().fromJson(jsonMessage, NetworkError.class).getMessage();
我一直在研究类似的问题,并意识到在
NetworkError
类中一定有错误,但我不知道它是什么。下面是课堂:

public class NetworkError {

    private String message;

    public NetworkError(final String message) {
        this.message = message;
    }

    public String getMessage() { return message; }
}
我尝试过包含一个set方法和一个空构造函数,但仍然得到null。
感谢在
NetworkError.java
类中,尝试将类中的
message
变量更改为
message
,因为这是您在REST响应中收到的密钥,在映射密钥时可能会导致问题


我可以理解,您可能仍然希望对变量名使用camel大小写。您可以使用
@SerializedName
注释来保留变量名,但仍然有GSON映射到它。您可以在
NetworkError.java
类中阅读更多有关的内容,请尝试将类中的
message
变量更改为
message
,因为这是您在REST响应中接收到的密钥,在映射密钥时可能会导致问题


我可以理解,您可能仍然希望对变量名使用camel大小写。您可以使用
@SerializedName
注释来保留变量名,但仍然有GSON映射到它。您可以阅读更多关于JSON中键区分大小写的内容。因此,Gson正在寻找“message”键,但它不在那里(您正在使用“message”键)

您只需执行以下操作:

@SerializedName("Message")
private String message;

JSON中的键区分大小写。因此,Gson正在寻找“message”键,但它不在那里(您正在使用“message”键)

您只需执行以下操作:

@SerializedName("Message")
private String message;

谢谢你的回答和使用注释的提示谢谢你的回答和使用注释的提示