如何在android中分割这种数据

时间:2014-01-21 06:50:29

标签: android string

这是

  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);

我尝试了这个,但它没有用

5 个答案:

答案 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格式的数据,因此您可以使用JSONArrayJSONObject类来解析它,而不是创建任何模式。

现在,在你的情况下,它的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

    }