我有一个活动,通过JSON获取值。运行for
循环。我从JSON接收所提取对象中存在的所有值。但是,我想将所有值附加到ArrayList
,即image_urls
。有人可以帮帮我吗?
public class AndroidJSONParsingActivity extends ListActivity {
private static String url = "http://www.ttt.com/album_pro/array_to_encode";
JSONArray folio = null;
ArrayList<String> urlList = new ArrayList<String>();
public static ArrayList<String> image_urls = new ArrayList<String>();
@SuppressLint("NewApi")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
JSONParser jParser = new JSONParser();
try {
JSONObject json = jParser.getJSONFromUrl(url);
// Log.v("URL",json.toString());
JSONObject seo = json.getJSONObject("SEO");
// Log.v("seo",seo.toString());
JSONArray folio = seo.getJSONArray("Folio");
Log("ARRAY-FOLIO0" + folio);
JSONArray image_urls1 = new JSONArray();
String s1 = seo.getString("Folio");
for (int i = 0; i < folio.length(); i++) {
String m = folio.getString(i);
Log.v("M" + i, m);
image_urls.add(folio.getString(i) + ",");
Log("JSON-ARRAY-->" + image_urls.add(folio.getString(i)));
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void Log(String string) {
Log.v("SEO-TEST", string);
}
}
以下是我得到的logcat响应
03-05 13:58:25.948: V/M0(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_a_grade_motor_school.html_a_poftfolio_2013_01_11.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M1(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arcticterntt_folio_portfolio_abc_tarps.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M2(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_able_scale.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M3(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_accent_aluminum_windows.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M4(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_access_health.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M5(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_acmeda__zipscreen.html_a_poftfolio_2013_01_11.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M6(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_aditya_birla_minerals.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M7(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_advanced_corporate_badges.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M8(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_aerotech_fans.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M9(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_agriculture_victoria_services_.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
答案 0 :(得分:0)
ArrayList<String> values = new ArrayList<String>();
for (int i=0; i<folio.size(); ++i) {
values.add(folio.getString(i));
}
答案 1 :(得分:0)
您的日志标记打印为true,因为您已在邮件中添加"image_urls.add(folio.getString(i))"
,如果成功添加项目,此行将返回true。
请现在查看如下
ArrayList<String > image_urls1 = new JSONArray(); //Use arrayList here
String s1 = seo.getString("Folio");
for (int i = 0; i < folio.length(); i++) {
String m = folio.getString(i);
Log.v("M" + i, m);
image_urls1 .add(folio.getString(i) + ",");//adding here
Log("JSON-ARRAY-->" + image_urls1.get(i) ); // printing the current element
}
答案 2 :(得分:0)
true
表示您的添加成功。
您必须创建其他for
循环数组才能获取添加的值。
还有这个
for (int i = 0; i < folio.length(); i++) {
String m = folio.getString(i);
Log.v("M" + i, m);
image_urls.add(folio.getString(i) + ",");
Log("JSON-ARRAY-->" + image_urls.add(folio.getString(i)));
}
由于字符串连接,将在每次迭代时创建三个StringBuilder
个对象。