php - 在 Android 中对 Json 输出进行排序

标签 php android mysql json

我用 PHP 创建了一个 web_service,它输出基于 MYSQL 查询的 JSON。当我的 Android 应用程序调用时,该服务将数据返回到应用程序并转换为 JSONObject。 一切都按预期进行,因为我在 PHP 服务器端对数据进行了排序,并且 Android 应用程序以相同的顺序保存了数据。

但是当我在较低的 APIS(Jelly Bean)上测试应用程序时。我看到第一条记录是底部,第二条记录是第一。我调试了那部分代码并看到了这个:

messed order

但是当我在较新的 API(牛轧糖)上调试同一部分时,我发现了这一点:

correct order

我想知道这是否是一个错误,或者我应该更改我的 Android 应用程序上的 java 代码。我认为对结果进行排序的最佳方法是在服务器端而不是应用程序端进行。

这里是读取 Web 服务结果的代码:

 if (resultado_json[1].compareTo(URLSECCIONES) == 0) {
                JSONObject json = new JSONObject(resultado_json[0]);
                //Log.i("hola3", resultadofin);
                orquestador.procesarResultados(json);
            }

最佳答案

我建议您向此数据添加某种 ID,以便排序始终简单。

如果使用 php,只需循环所有内容并添加可排序的 ID,或至少添加日期。

由于你不提供后端代码,所以很难说你在做什么,但在 Java 中,如果你想对某些东西进行反向排序,你可以这样做。

JSONArray array = response.getJSONArray("records");
    for (int i = array.length()-1; i >= 0; i--) { //you are moving backwards, notice the i-- in the loop }

如果您发布 PHP 代码,我也许也能提供帮助。

关于php - 在 Android 中对 Json 输出进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59076970/

相关文章:

php - 将 javascript 与 htaccess 和 php 捆绑在一起

android - 我应该将 .idea/jarRepositories.xml 添加到 gitignore 吗?

php - cakephp中的sql查询

php - 使 <img> src 指向一个 php 页面

PHP Rest API readAll 返回空响应

java.lang.ClassNotFoundException : com. mysql.jdbc.Driver(jar 文件已链接并放置在 WEB-INF/lib 中)

php - having 子句中的未知聚合列

MySQL - 只获取记录哪些用户ID在一列中有两个特定的不同值

javascript - Firefox 对待 ajax 的方式与 Chromium 不同?

android - 将文件从 USB 传输到内部存储器?