我遇到一个奇怪的问题,我不知道为什么。我正在尝试将json数据从http请求转换为对象。这是我到目前为止所做的。
课程:
public class VersionInfo {
@SerializedName("build")
private String build;
public VersionInfo(String v){
this.build = v;
}
}
排球要求:
private void getServerInfo() {
RequestQueue queue = Volley.newRequestQueue(this);
String url = "xxxxxx";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
VersionInfo vi = gson.fromJson(response,VersionInfo.class);
versionInfo.setText("vi is not working as an object");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
versionInfo.setText(error.getMessage());
}
});
queue.add(stringRequest);
}
请求是这样的php脚本:
<?php
$obj = array(
'build' => 'Version: 1.0.0 alpha build'
);
$json = json_encode($obj);
echo $json;
?>
这是调试显示给我的:
我的问题是:为什么反序列化不会用给定的文本填充vi
对象?
答案 0 :(得分:0)
根据您的response
中的screenshot
字符串,您的VersionInfo
应该是
public class VersionInfo {
@SerializedName("vr")
@Expose
private String vr;
public String getVr() {
return vr;
}
public void setVr(String vr) {
this.vr = vr;
}
}