如何拆分字符串以获取相关的JAVA数据

如何拆分字符串以获取相关的JAVA数据,java,arrays,string,drop-down-menu,split,Java,Arrays,String,Drop Down Menu,Split,我有一个字符串,我从中获取数组中的数据,但我没有得到获取的方法,所以我在数组中获取相关数据,就像我的字符串一样 [{"Class Room": ["Windows", "Windows1"], "Staffroom": ["Windows", "Windows1"]}], " 这里有两个下拉列表 “教室”在下拉窗口和窗口1中有两个值 又一次降落 “Staffroom”在下拉窗口和窗口1中有两个值 如何在数组中获取下拉相关值我可以使用拆分操作,但无法获取逻辑 上面给出的字符串在列表中,我

我有一个字符串,我从中获取数组中的数据,但我没有得到获取的方法,所以我在数组中获取相关数据,就像我的字符串一样

[{"Class Room": ["Windows",  "Windows1"],  "Staffroom": ["Windows",  "Windows1"]}],  "
这里有两个下拉列表

“教室”
在下拉窗口和窗口1中有两个值

又一次降落

“Staffroom”
在下拉窗口和窗口1中有两个值

如何在数组中获取下拉相关值我可以使用拆分操作,但无法获取逻辑

上面给出的字符串在列表中,我的代码是

String[] data = list.toString().split(",");
但它在数组中拆分,这样我就没有相关数据了

我希望它以某种方式拆分,以便在数组中获得相对的
下拉列表
数据

  "Class Room": ["Windows",  "Windows1"], value in aray index 0
   "Staffroom": ["Windows",  "Windows1"]}] value in array index 1

字符串不是固定的,它在运行时生成
下拉列表的编号
,而
下拉列表的值会随时间而变化,但字符串的模式与上面提到的相同

这取决于您正在使用的UI框架。如果您使用的是Swigs,则必须使用ActionListener来显示相关数据。比如说

private String s1[] = { "None", "J2EE", "DataBase", "Scripting Language",
            "Computer Networks" };

    private String s2[][] = { { "None" }, { "Core Java", "Advanced Java" },
            { "Oracle", "SQL", "SyBase" }, { "Java scripts", "c#", "CGI" },
            { "MCSE", "CCNA", "CCNP", "CCIE" } };
...
skill = new JComboBox(s1);
specificSkill = new JComboBox(s2[0]);
...
skill.addActionListener(new ComboAction());
...
specificSkill.setSelectedIndex(0);

您可以使用这段代码,它可以在测试和验证时解决您的问题

String temp = "[{"Class Room": ["Windows",  "Windows1"],  "Staffroom": ["Windows",  "Windows1"]}],";
        String parts[] = temp.split(",");
        ArrayList<String> listItems = new ArrayList<String>();

        for (int i = 0; i < parts.length; i =i+2) {
            listItems.add(parts[i]+","+parts[i+1]);

        }
String temp=“[{”教室“:[“窗口”,“窗口1”],“员工室”:[“窗口”,“窗口1”]}],”;
字符串部分[]=临时拆分(“,”);
ArrayList listItems=新的ArrayList();
对于(int i=0;i
或者,您可以使用正则表达式在字符出现的特定位置断开字符串。
我希望它能有所帮助。

为什么
String[]data=list.toString().split(“,”当您可以
String[]data=list.toArray()时
Bohemian它会给我一个和我需要的一样的数组吗?你的字符串是JSON吗?@Pratik它是JSON格式的我把它转换成了stringHitest它对这个特定的字符串或这种格式的任何字符串都有效吗?因为下拉列表的数量和它的值每次都会改变,它对任何数量的下拉列表都有效,因为它首先会在所有页面上拆分它逗号(,)和将存储数组中大小为下拉列表数两倍的每个值。假设您有10个下拉列表,那么您将拥有大小为20的数组。之后,我们通过将所有输入合并成两对来添加它们,因为我们使用Arraylist来存储结果,Arraylist可以扩展到任何大小,所以即使您的输入大小每次都发生变化,您也不会遇到任何问题。与本例类似,arraylist将存储10个字符串对象,这些对象将根据您的需要-@user3664724