这是
string one =[{"ID":5,"Name":"Sai"}]
我如何从这个字符串中获得唯一的id和名称
Matcher matcher = Pattern.compile("\\[([^\\]]+)").matcher(one);
List<String> tags = new ArrayList<String>();
int pos = -1;
while (matcher.find(pos+1)){
pos = matcher.start();
tags.add(matcher.group(1));
}
System.out.println("getting data"+tags);
我尝试了这个,但它没有用
答案 0 :(得分:2)
List<String> ls = new ArrayList<String>(one);
JSONArray array = new JSONArray();
for(int i = 0; i< array.length(); i++){
JSONObject obj = array.getJSONObject(i);
ls.add(obj.getString("Name"));
}
答案 1 :(得分:2)
它是JSON格式,可以在Android中轻松阅读。以下是示例代码:
JSONArray array = new JSONArray(one);
int length = array.length();
for(int i=0;i< length; i++)
{
JSONObject temp = array.getJSONObject(i);
System.out.println(temp.getString("ID"));
System.out.println(temp.getString("Name"));
}
答案 2 :(得分:1)
它是一个json格式的日期 使用JsonObject类来解析此数据 教程this
JSONArray jsonArray = new JSONArray("[{\"ID\":5,\"Name\":\"Sai\"}]");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
System.out.println(object.getString("ID"));
System.out.println(object.getString("Name"));
}
答案 3 :(得分:1)
这种数据格式称为JSON。
看看转到http://json.org/,滚动到(差不多)结尾,点击列出的众多Java库之一。
答案 4 :(得分:1)
首先,你的字符串初始化是错误的。
<强>错误:强>
string one =[{"ID":5,"Name":"Sai"}]
<强>正确:强>
String one ="[{\"ID\":5,\"Name\":\"Sai\"}]";
其次,它是一个JSON格式的数据,因此您可以使用JSONArray和JSONObject类来解析它,而不是创建任何模式。
现在,在你的情况下,它的JSONObject在JSONArray中,所以最初使用你的字符串创建一个JSONArray的对象。
例如:
JSONArray arrayJSON = new JSONArray(one); // 'one' is your JSON String
for(int i=0; i<arrayJSON.length(); i++) {
JSONObject objJson = arrayJSON.getJSONObject(i);
String ID = objJson.getString("ID");
.....
.....
// same way you can fetch/parse any string/value from JSONObject/JSONArray
}