2011-11-23 138 views
0

我使用json解析一个url。我将得到每个标签的值,并使用getString中的for -loop将其存储在字符串中。如何将字符串中存储的数据转换为字符串数组

我想要的是将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"); 
    } 
} 
+0

现在你甚至没有存储在您每次创建新的字符串和地方投掷另一个在内存中,直到GC拿起它:) – doNotCheckMyBlog

回答

3

使用列表来存储您的标题,另一个储存图像。或设计这个类中的一个拿着两个字段(标题和图片),并存储在实例列表:

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。这是一个必须知道的。

+0

我把它存储在arrayllist中,它工作正常..但我想要的是将其存储在字符串数组.. ..它以任何方式... – kingston

+0

如何使用HashMap 标题可以是关键和价值形象! :) – doNotCheckMyBlog

+0

打开javadoc并读取ArrayList具有的不同方法,您可以通过images.toArray()轻松转换为数组。 – doNotCheckMyBlog

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; 
} 
+0

这将字符串转换为其字符的字符串数组。这对OP没有帮助。 – st0le

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()]); 
相关问题