将jsonObject转换为字符串jsonarray并在对话框中显示的问题

墨西哥菜

我需要帮助在对话框中显示数组3项

数组中的项目:InvernaderoId,名称和Invernarder

我将jsonobject转换为jsonarray有问题

JsonObject:

{"data":[{"invernaderoId":"1","name":"inver B","Invernarder":"inv1"},{"invernaderoId":"2","name":"inver C","Invernarder":"inv2"},{"invernaderoId":"3","name":"inv13","Invernarder":"inv3"},{"invernaderoId":"4","name":"inv14 A","Invernarder":"HTFRA14A"}]}

使用转换为JsonArray JSONArray arr = js.getJSONArray("data");

结果示例:

[{"invernaderoId":"1","name":"inver B","Invernarder":"inv1"},{"invernaderoId":"2","name":"sd 12 C","Invernarder":"HTESP12C"},{"invernaderoId":"3","name":"s13","Invernarder":"sd"},{"invernaderoId":"4","name":"ds 14 A","Invernarder":"ds"}]

编写替换数组字符串:

  String[] arr2 = arr.toString().replace("},{", " ,").split(" ");

final String[] employes= arr2;

代码对话框:

 new AlertDialog.Builder(getContext())
                            .setTitle("Selected one")
                            .setSingleChoiceItems(employes, itemSelected, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int selectedIndex) {
                                    String nombreselect = employes[selectedIndex];
                                    employes.setText(nombreselect);
                                }
                            })
                            .setPositiveButton("Ok", null)
                            .setNegativeButton("Cancel", null)
                            .show();
                }
            });

在对话框中的查看器中选择: 图像结果对话框

Zain

您可以遍历JSONArray元素并将其添加到String数组中,然后使用此String数组提供AlertDialg

final String jsonResponse = "{   \"data\":[      {\n" +
        "         \"invernaderoId\":\"1\",\n" +
        "         \"name\":\"inver B\",\n" +
        "         \"Invernarder\":\"inv1\"\n" +
        "      \n" +
        "},\n" +
        "      {\n" +
        "         \"invernaderoId\":\"2\",\n" +
        "         \"name\":\"inver C\",\n" +
        "         \"Invernarder\":\"inv2\"\n" +
        "      \n" +
        "},\n" +
        "      {\n" +
        "         \"invernaderoId\":\"3\",\n" +
        "         \"name\":\"inv13\",\n" +
        "         \"Invernarder\":\"inv3\"\n" +
        "      \n" +
        "},\n" +
        "      {\n" +
        "         \"invernaderoId\":\"4\",\n" +
        "         \"name\":\"inv14 A\",\n" +
        "         \"Invernarder\":\"HTFRA14A\"\n" +
        "      \n" +
        "}\n" +
        "   \n" +
        "]\n" +
        "}";

try {
    JSONObject js = new JSONObject(jsonResponse);
    JSONArray arr = js.getJSONArray("data");
    String[] list = new String[arr.length()];
    for (int i = 0; i <= arr.length() - 1; i++) {
        JSONObject element = arr.getJSONObject(i);
        String InvernaderoId = "\"invernaderoId\":\"" + element.getString("invernaderoId") + "\", ";
        String Name = "\"name\":\"" + element.getString("name") + "\", ";
        String Invernarder = "\"Invernarder\":\"" + element.getString("Invernarder") + "\"";

        list[i] = InvernaderoId + Name + Invernarder;
    }

    AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
    builder.setTitle("Title")
            .setSingleChoiceItems(list, -1, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int position) {

                    Toast.makeText(getContext(), "Position: " + position, Toast.LENGTH_SHORT).show();

                }
            }).setPositiveButton("Ok", null)
            .setNegativeButton("Cancel", null)
            .show();

} catch (JSONException e) {
    e.printStackTrace();
}

这是结果

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将JSONArray转换为字符串数组

无法将字符串转换为JsonArray

如何将字符串转换为JSONObject?

Kotlin-如何在对话框中串联XML字符串

将任何字符串转换为时区日期并在Kotlin Android中显示

Android将字符串转换为JSONObject

如何将字符串转换为JSONArray

如何将JsonObject转换为JSON字符串?

将float列转换为字符串并在Pandas中测试字符串的存在

将数据框中的元素转换为字符串

字符串资源中的特殊字符不会显示在“警报对话框”中(Android)

C#将List <char>转换为字符串并在Windows窗体应用程序的标签中显示

在菜单中设置值并在对话框中显示

将字符串日期转换为日期并在数据框中放置时间

在对话框中增加对话框宽度的问题

如何将布尔值转换为字符串参数并在Blazor的字段中显示是或否

将JSONObject转换为字符串

MVC 4客户端验证将显示在对话框中

无法将字符串转换为JSONObject

Android将JSONArray转换为字符串数组

将验证码发送到Android设备并在对话框中显示

将JSONObject转换为List <JSONObject>或将字符串转换为List <JSONObject>

在对话框中淘汰到ASP MVC问题

将json格式的字符串转换为jsonObject Android

GSON - 将字符串转换为 JsonArray

如何将用户在对话框(JOptionPane)中键入的字符串转换为枚举?

如何将日期 JsonObject 转换为字符串?

为什么 JSONObject 在放置操作时将字符串化数组转换为 JSONArray?如何阻止这个?

正确地将 base64 字节转换为字符串并在 cv2.imshow 中显示