如何将存储在string中的数据转换为字符串数组

时间:2011-11-23 07:33:24

标签: java android

我正在使用json解析网址。我正在获取每个标记的值,并使用getString循环中的for将其存储在字符串中。

我想要的是将String值存储到String数组中。就android开发而言,我是一个菜鸟。

以下是代码:

JSONObject json = JsonFunctions.getJSONfromURL("http://www.skytel.mobi/stepheniphone/iphone/stephenFlickr.json");

try {
  JSONArray boombaby=json.getJSONArray("items");

  for(int i=0;i<boombaby.length();i++) {
     JSONObject e = boombaby.getJSONObject(i);
     mTitleName=e.getString("title");
     String mTitleImage=e.getString("image");
  }
}

3 个答案:

答案 0 :(得分:3)

使用列表存储标题,使用另一个列表存储图像。或者设计一个包含两个字段(标题和图像)的类,并在List中存储该类的实例:

List<String> titles = new ArrayList<String>();
List<String> images = new ArrayList<String>();
for (int i = 0; i < boombaby.length(); i++) {
    JSONObject e = boombaby.getJSONObject(i);
    titles.add(e.getString("title"));
    images.add(e.getString("image"));
}

阅读Java tutorial about collections。这是必须知道的。

答案 1 :(得分:1)

我的解决方案:

String[] convert2StringArr(String str)
{
    if(str!=null&&str.length()>0)
    {
        String[] arr=new String[str.length()];
        for(int i=0;i<str.length();i++)
        {
            arr[i]=new String(str.charAt(i)+"");
        }
        return arr;
    }
    return null;
}

答案 2 :(得分:0)

List<String> titles = new ArrayList<String>();
List<String> images = new ArrayList<String>();
for (int i = 0; i < boombaby.length(); i++) {
    JSONObject e = boombaby.getJSONObject(i);
    titles.add(e.getString("title"));
    images.add(e.getString("image"));
}

然后将列表转换为数组:

String[] titleArray = (String[])titles.toArray(new titles[titles.size()]);

String[] imageArray = (String[])images.toArray(new titles[images.size()]);