Json 来自服务器的响应以 table 形式进入 Android 回收站视图

Json Response from server in table form into Android Recycler view

我正在开发一个应用程序,我在其中使用 PHP 作为我的后端从数据库中获取一些数据。我有一个 JSON 响应,我想在回收站视图中将其提取到 table 布局表单中。

我有来自 PHP 的 JSON 回复,其中包含数据。我的 Json 由两个数组组成,一个包含列名,另一个包含列值。我想在 table 中显示它。我尝试过使用 Recycler 视图,但我无法实现我想要的。以下是我的 JSON 回复。

[
    [
        {
            "column_name": "email"
        },
        {
            "column_name": "product_code"
        },
        {
            "column_name": "Shape"
        },
        {
            "column_name": "BaseColor"
        },
        {
            "column_name": "Size"
        },
        {
            "column_name": "Qty"
        },
        {
            "column_name": "TransNo"
        },
        {
            "column_name": "Supplier"
        }
    ],
    [
        {
            "column_value": "ht@t.com"
        },
        {
            "column_value": "BBAN0003"
        },
        {
            "column_value": " ELEPHANT"
        },
        {
            "column_value": " "
        },
        {
            "column_value": " 0"
        },
        {
            "column_value": " 1"
        },
        {
            "column_value": " TID00000163"
        },
        {
            "column_value": " ABDUL"
        },
        {
            "column_value": "ht@t.com"
        },
        {
            "column_value": "MAAR0043"
        },
        {
            "column_value": " REC"
        },
        {
            "column_value": " WHITE"
        },
        {
            "column_value": " 06X04"
        },
        {
            "column_value": " 1"
        },
        {
            "column_value": " TID00000075"
        },
        {
            "column_value": " SUNIL"
        }
    ]
]

我想知道有什么方法可以在 android 工作室的 table 中使用 column_name 和 column_values 显示此响应。

请对此提供帮助我对此感到非常沮丧,我们将不胜感激任何帮助。 谢谢 !!!!

是的,您需要从响应中获取 JSONArray。之后,您必须在 TableLayout

中创建动态行

查看我的示例代码:

String astr="[" +
            "  [" +
            "    {" +
            "      \"column_name\": \"email\"" +
            "    }," +
            "    {" +
            "      \"column_name\": \"product_code\"" +
            "    }" +
            "   " +
            "  ]," +
            "  [" +
            "    {" +
            "      \"column_value\": \"ht@t.com\"" +
            "    }," +
            "    {" +
            "      \"column_value\": \"BBAN0003\"" +
            "    } " +
            "  ]" +
            "]";
    try {
        JSONArray jsonArray = new JSONArray(astr);
        TableLayout ll = (TableLayout) findViewById(R.id.displayLinear);
        TextView tv;


        for (int i = 0; i <jsonArray.length(); i++) {
            JSONArray Column= jsonArray.getJSONArray(i);
            TableRow row = new TableRow(this);
                for (int j = 0; j < Column.length(); j++) {
                    TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
                    row.setLayoutParams(lp);
                    tv = new TextView(this);
   JSONObject jsonObject = (JSONObject) Column.get(j);
                    if (i == 0) {
                        tv.setText(jsonObject.getString("column_name"));
                    }
                    else
                    {
                 tv.setText(jsonObject.getString("column_value"));
                    }
                    row.addView(tv);
                }
            ll.addView(row, i);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

我在 TableLayout 中动态添加了 ROWS

希望对您有所帮助。

快乐编码...