当前位置: 首页 > 知识库问答 >
问题:

如何解决JSONArray问题,无法获取数据,Android Studio

冯野
2023-03-14

我在Android Studio中遇到了一些JSON问题我一直在看并阅读一些示例,但仍然不知道如何将这些数据从数据库传递到“Movie”类中,就像Java代码中显示的那样。

private void getMoviesFromDB(int id) {

    AsyncTask<Integer, Void, Void> asyncTask = new AsyncTask<Integer, Void, Void>() {
        @org.jetbrains.annotations.Nullable
        @Override
        protected Void doInBackground(Integer... movieIds) {

            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    .url("http://192.168.8.101/databaseproject/getMenu.php?category=" + category)
                    .build();
            try {
                Response response = client.newCall(request).execute();
                Log.d(TAG, "response: " + response.body().string());
                JSONArray array = new JSONArray(response.body().string());

                for (int i = 0; i < array.length(); i++) {

                    JSONObject object = array.getJSONObject(i);

                    Movie movie = new Movie(object.getInt("food_id"), object.getString("food_title"),
                            object.getString("food_image"), object.getString("food_description"), object.getString("food_price"));

                    MainActivity.this.movies.add(movie);
                }


            } catch (IOException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
            return null;
        }

日志显示错误位于MainActivity的第139行和第127行

139:JSONArray数组=新的JSONArray(response.body().string());

127:AsyncTask AsyncTask=new AsyncTask(){...

有人能帮帮我吗?我不明白怎么解决这个JSON的特殊情况...

提前道谢。

共有1个答案

文志学
2023-03-14

您可能希望将响应放入一个字符串而不是JSONArray中,然后使用该字符串创建一个JSONObject并从那里开始。

可以粘贴JSON吗?

 类似资料:
  • 本文向大家介绍如何解决数据不平衡问题?相关面试题,主要包含被问及如何解决数据不平衡问题?时的应答技巧和注意事项,需要的朋友参考一下 这主要是由于数据分布不平衡造成的。解决方法如下: 采样,对小样本进行加噪声采样,对大样本进行下采样 进行特殊的加权,如在Adaboost中或者SVM 采用对不平衡数据集不敏感的算法 改变评价标准:用AUC|ROC来进行评价 考虑数据的先验分布 https://blog

  • 上面的代码,在 python3.10 下面没有问题 但是在 python3.11 上运行,就会报错

  • 问题内容: 下面的程序引发NullPointerException。在Log cat中,它显示: 单击该按钮时,它不会进入Mousefragment类。我试图解决它,但是我不能-如何解决这个问题? 编辑 单击该按钮多少次,该异常随同invalid_ip Toast消息一起显示 问题答案: 如前所述,您的问题询问如何解决此问题。 您需要弄清楚在哪里抛出。为此,请查看堆栈跟踪以查看引起问题的行。然后,

  • 问题内容: 我在做一个 用。我有我的输出。有人可以帮我吗?谢谢。 sendMailServlet代码: 在GlassFish 2.1上的输出: 问题答案: 您需要实施一个自定义 现在在 另请查看JavaMail常见问题解答

  • 当我尝试运行应用程序时,它工作正常。但是当我构建签名apk时,出现了错误 失败:构建失败,出现异常。 问题:任务“:app:lintVitalRelease”的执行失败 无法解析配置“:image_picker_android:调试单元测试运行时类路径”的所有项目。无法转换 bcprov-jdk15on-1.68.jar (org.bouncycastle:bcprov-jdk15on:1.68)

  • 本文向大家介绍解决无法配置SQL2005问题,包括了解决无法配置SQL2005问题的使用技巧和注意事项,需要的朋友参考一下 问题:点击“SQL Server Configuration Manager”却显示“无法连接到WMI 提供程序 请注意,你只能使用SQL Server 配置管理器来管理SQL Server 2005服务器。找不到指定的模块。[0x8007007e]” 解决方法: 1、到sy