[英]Android json/gson deserialization
我正在尝试解析从我的php文件收到的以下json数组:
actionsArray = [[“” 19.431“,” 19.438“],[[” 8“,” 107“],[]],[” u1“,” u2“]]
我主要对访问数组[[“ 8”,“ 107”],[]]感兴趣; 但是,出现错误“ com.google.gson.JsonParseException:期望数组,但找到了对象:名称:null克:null 0操作:null
这是我的代码的摘录:
用户类包含:字符串名称; int []动作; 弦克
JSONArray inputarray;
try {
int[] userActionsArray = new int[0];
inputarray = new JSONArray(br.readLine());
JSONArray gramsArray = (JSONArray)inputarray.get(0);
JSONArray actionsArray = (JSONArray)inputarray.get(1);
JSONArray namesArray = (JSONArray) inputarray.get(2);
User[] values = new User[namesArray.length()];
Gson gson = new Gson();
*User userAction = gson.fromJson(inputarray.toString(), User.class);
//error occurs on the above line*
...
当您尝试解析数组但服务作为对象响应时,通常会出现此问题。 因此,首先测试您得到的响应,然后尝试相应地进行解析。
JSONArray
来自org.json,.toString()方法以["first","second"]
(可从此处获得资源 )
您需要JSON如下所示: { myArray : [ "first", "second" ] }
以便Gson解析它... POJO(在您的情况下为User.class
)应如下所示:
public User {
String[] myArray;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.