Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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
Java Android Studio在读取JSONArray时遇到问题_Java_Android_Json - Fatal编程技术网

Java Android Studio在读取JSONArray时遇到问题

Java Android Studio在读取JSONArray时遇到问题,java,android,json,Java,Android,Json,我是Android Studio的初学者,我正在学习如何读取JSON文件。我使用logcat发现在声明JSONArray数据列表的行中出现异常。下面是我的代码供参考 try{ JSONObject jsonObject = new JSONObject(loadJSONFromAsset()); JSONArray dataList = jsonObject.getJSONArray("eateries"); //Log.d

我是Android Studio的初学者,我正在学习如何读取JSON文件。我使用logcat发现在声明JSONArray数据列表的行中出现异常。下面是我的代码供参考

try{
            JSONObject jsonObject = new JSONObject(loadJSONFromAsset());
            JSONArray dataList = jsonObject.getJSONArray("eateries");
            //Log.d("test", String.valueOf(dataList.length()));
            for(int i = 0; i < dataList.length(); i++){
                String EateryName = dataList.getJSONObject(i).getString("name");
                EateryList.add(EateryName);
            }
        }catch (JSONException e){
            e.printStackTrace();
            //Log.d("test", "exception");
        }
试试看{
JSONObject JSONObject=新的JSONObject(loadJSONFromAsset());
JSONArray dataList=jsonObject.getJSONArray(“餐厅”);
//Log.d(“test”,String.valueOf(dataList.length());
对于(int i=0;i
按照以下步骤解决问题

  • 通过代码检查资产文件夹/dir(文件路径必须与.json保持一致)
  • 使用文件对象检查目录中创建/存在的文件(如果没有,则创建文件)
  • 通过使用FileInputStream读取文件来检查文件大小
  • 如果大小>0,则获取字节数组中的数据,并将字节数组转换为字符串
  • 现在,您有了一个json数据字符串。创建JsonArray(您的字符串)并执行您喜欢的进一步操作。
    每个步骤都有此堆栈溢出的可用代码。找到并解决问题。
    希望能有帮助
  • 检查 只需在项目根目录中创建assests文件夹即可

    这是你的电话号码

    String myJsonFileString=Utils.getjsonfromsets(getApplicationContext(),“your.json”);
    Log.i(“我的数据”,jsonflesting);
    Gson Gson=新的Gson();
    类型listUserType=newTypeToken(){}.getType();
    列表用户=gson.fromJson(myJsonFileString,listUserType);
    对于(int i=0;i

    查看原始帖子

    您得到的异常是什么?只是一个jsonexception。初始化json数组时,我的代码将进入catch部分
    String myJsonFileString = Utils.getJsonFromAssets(getApplicationContext(), "your.json");
    Log.i("My data", jsonFileString);
    
    Gson gson = new Gson();
    Type listUserType = new TypeToken<List<User>>() { }.getType();
    
    List<User> users_ = gson.fromJson(myJsonFileString, listUserType);
    for (int i = 0; i < users.size(); i++) {
      Log.i("data", "> Item " + i + "\n" + users.get(i));
    }