错误的第一争议类型。发现' String' ,需要整数

时间:2017-03-02 08:36:07

标签: java android json

我试图将一个json数组放入Recyclerview。当我只使用一个争论(store_textposition)时,一切正常,但当我添加另一个争论(store_name)时,它会给我"Wrong 1st argument type. Found 'String' , required Integer"

这是我的json数组:

{"action":"true","error":"","data":[{"_id":"58ad8d8ca49d0e11e21c4504","store_name":"firstStore","store_view":0,"store_textposition":null}]}

并且我在哪里得到错误:

 private boolean parse()
{
    try
    {
        JSONObject obj = new JSONObject(jsonData);
        JSONArray ja = obj.getJSONArray("data");
        JSONObject jo;
        shops.clear();
        for(int i=0;i<ja.length();i++)
        {
            jo=ja.getJSONObject(i);
            String store_name = jo.getString("store_name");
            String store_textposition = jo.getString("store_textposition");
            shops.add(store_textposition,store_name);
        }
        return true;
    }
    catch (JSONException e)
    {
        e.printStackTrace();
        return false;
    }
}

1 个答案:

答案 0 :(得分:0)

正如@AlinPandichi在评论中提到的,您的问题是当您将对象添加到商店列表时。

我不知道你想要做什么。但是,如果store_textposition是一个int,那么最好使用

  

int store_textposition = jo.optInt(“store_textposition”);

这样,即使服务器传递给你null,你的默认值为0也会阻止你的应用程序崩溃。

我认为它会解决你的问题。