我有一个数组String
String[] data = {"Id:1492", "Name:Antony", "School:DPS"};
我想知道如何分隔数据,如:
Id = 1492
Name = Antony
School = DPS
答案 0 :(得分:0)
使用org.json库(http://www.json.org/java/)
JSONObject jsonObj = new JSONObject(data);
然后您可以访问jsonObj
答案 1 :(得分:0)
答案 2 :(得分:0)
我会从字符串中替换{
和}
,然后使用以下方法从中获取数组:
String values[] = data .replace("{","").replace("}","").split(",");
然后iterate over array
并将键值对放在Map
中,方法是将数组元素拆分为:
String[] value= values[index].split(":");
并使用value[0]
作为关键字,value[1]
作为一对使用。
或者作为另一种选择,我建议使用一些JSON api for java
。
以下是示例代码:
String data ="{Id:1492,Name:Antony ,School:DPS}";
String values[] = data .replace("{","").replace("}","").split(",");
Map<String, String> map = new TreeMap<String, String>();
for (int i = 0; i < values.length; i++) {
String value[] = values[i].split(":");
map.put(value[0], value[1]);
}
System.out.println(map.toString());
答案 3 :(得分:0)
String[] data = {"Id\", "1492\", "Name\", "Antony\", "School\", "DPS\"};
String arr[] = data.split(",");
for (int i = 0; i < arr.length; i++) {
String keyval[] = arr[i].split(":");
for (int j = 0; j < keyval.length; j += 2) {
System.out.print(keyval[j].replaceAll("\\{*\"+", ""));
System.out.print(":");
System.out.print(keyval[j + 1].replaceAll("\"+}*", ""));
System.out.println();
}
}
答案 4 :(得分:0)
您的代码无法编译:
您正尝试将{{1>}中的 各种类型的对象 (String, int)
保存到array
!?为什么?你的陈述应该是:
String
而不是:
String[] data = {"Id:1492","Name:Antony","School:DPS"};
现在它编译了,让我们解决问题......
这个怎么样;它使用普通的java:
String data = {"Id":1492,"Name":"Antony ","School":"DPS"}
如果您想从...
String id;
String name;
String school;
for (String str : data) {
int pos = str.indexOf (":"); //Find [1st] position of ':'
String part1 = str.substring(0, pos);
String part2 = str.substring(pos + 1);
switch (part1) {
case "Id":
id = part2;
break;
case "Name":
name = part2;
break;
case "School":
school = part2;
break;
}
}
...
这样的数据中创建新的对象,请将此代码放在Student
中名为parse (String[] data)
的方法中。 class Student
,id
,name
应为school
。
答案 5 :(得分:0)
不会更容易使用HashMap吗?