繁体   English   中英

Android json / gson反序列化

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM