Java 获取一个对象数组并将其转换为字符串数组?
我试图将对象数组转换为for循环中的字符串数组 我正在从对象中提取一个属性循环中的Java 获取一个对象数组并将其转换为字符串数组?,java,android,arrays,Java,Android,Arrays,我试图将对象数组转换为for循环中的字符串数组 我正在从对象中提取一个属性循环中的title我有几个title字符串,现在我想将其传递到一个新数组中 JSONArray shots = response.getJSONArray("shots"); for (int i=0; i < shots.length(); i++) { // play with data JSONObject post = shots.getJSONObject(i); String t
title
我有几个title
字符串,现在我想将其传递到一个新数组中
JSONArray shots = response.getJSONArray("shots");
for (int i=0; i < shots.length(); i++) {
// play with data
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
// turn title into an array of strings??
}
JSONArray shots=response.getJSONArray(“shots”);
对于(int i=0;i
编辑:
我试过这个
String[] mStrings = new String[15];
JSONArray shots = response.getJSONArray("shots");
for (int i=0; i < shots.length(); i++) {
// play with data
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
//Log.d("this is my array", "arr: " + title);
mStrings[i] = title;
}
Log.d("this is my array", "arr: " + mStrings);
String[]mStrings=新字符串[15];
JSONArray shots=response.getJSONArray(“shots”);
对于(int i=0;i
Log.d
的结果是d/这是我的数组﹕ arr:[Ljava.lang.String;@4294e620
如果我正确理解了您的问题:您想获得一个包含JSON快照中所有标题的数组吗
JSONArray shots = response.getJSONArray("shots");
String titles[] = new String[shots.length()];
for (int i=0; i < shots.length(); i++) {
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
titles[i] = title;
}
如果您正在使用此功能,您甚至可以编写:
JSONArray shots = response.getJSONArray("shots");
String titles[] = shots.stream()
.map(post -> ((JsonObject) post).getString("title"))
.toArray(String[]::new);
如果我正确理解了您的问题:您想获得一个包含JSON快照中所有标题的数组吗
JSONArray shots = response.getJSONArray("shots");
String titles[] = new String[shots.length()];
for (int i=0; i < shots.length(); i++) {
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
titles[i] = title;
}
如果您正在使用此功能,您甚至可以编写:
JSONArray shots = response.getJSONArray("shots");
String titles[] = shots.stream()
.map(post -> ((JsonObject) post).getString("title"))
.toArray(String[]::new);
实现这一点的最佳方法是创建一个新的
ArrayList
,当您从JSONObject
解析每个字符串时,可以将其存储到该列表中
ArrayList<String> stringList = new ArrayList<String>();
JSONArray shots = response.getJSONArray("shots");
for (int i=0; i < shots.length(); i++) {
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
stringList.add(title);
}
ArrayList stringList=新建ArrayList();
JSONArray shots=response.getJSONArray(“shots”);
对于(int i=0;i
实现这一点的最佳方法是创建一个新的数组列表
,当您从JSONObject
解析每个字符串时,可以将其存储到该列表中
ArrayList<String> stringList = new ArrayList<String>();
JSONArray shots = response.getJSONArray("shots");
for (int i=0; i < shots.length(); i++) {
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
stringList.add(title);
}
ArrayList stringList=新建ArrayList();
JSONArray shots=response.getJSONArray(“shots”);
对于(int i=0;i
您的意思是在字符串数组中为每个标题创建一个条目吗
如果是:
JSONArray shots = response.getJSONArray("shots");
List<String> titles = new ArrayList<String>();
for (int i=0; i < shots.length(); i++) {
// play with data
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
titles.add(title)
// turn title into an array of strings??
}
String[] titleArr = new String[titles.size()];
titleArr = titles.toArray(titleArr);
JSONArray shots=response.getJSONArray(“shots”);
列表标题=新的ArrayList();
对于(int i=0;i
如果这不是您想要的,请在问题中提供更多细节。您的意思是在字符串数组中为每个标题创建一个条目吗
如果是:
JSONArray shots = response.getJSONArray("shots");
List<String> titles = new ArrayList<String>();
for (int i=0; i < shots.length(); i++) {
// play with data
JSONObject post = shots.getJSONObject(i);
String title = post.getString("title");
titles.add(title)
// turn title into an array of strings??
}
String[] titleArr = new String[titles.size()];
titleArr = titles.toArray(titleArr);
JSONArray shots=response.getJSONArray(“shots”);
列表标题=新的ArrayList();
对于(int i=0;i
如果这不是你想要的,请在问题中提供更多细节。使用
Log.d("this is my array", "arr: " + Arrays.toString(mStrings));
代替
Log.d("this is my array", "arr: " + mStrings);
使用
代替
Log.d("this is my array", "arr: " + mStrings);
看起来你已经这样做了。你已经将每个标题存储为字符串数组的一个元素。我不明白这里有什么?它基本上没有在日志中显示我。所以我是unsureThanks的家伙。我想我明白了。看起来你已经这样做了。你已经将每个标题存储为字符串数组的一个元素。我不明白这里有什么?它无法解释我基本上是在日志中看到我的。所以我是Unserthanks的家伙。我想我明白了。是的,但是如果我想在循环之外访问数组呢?我可以调用stringList吗?最终我想把它传递到Adapterys中,因为stringList在循环之外实例化,你将能够在更大的范围内使用它。一旦你完成了对它的解析h每个JSONObject您都将用字符串填充列表,并且可以简单地将stringList对象传递给您的适配器。是的,但是如果我想访问循环外部的数组呢?我可以调用stringList吗?最终我想将它传递到adapterYes,因为stringList在循环外部实例化,您可以在l中使用它更大的作用域。完成对每个JSONObject的解析后,您将用字符串填充列表,只需将stringList对象传递给适配器即可。好的,我正在尝试创建一个数组传递给适配器,这样我就可以拥有一个listView好的,我正在尝试创建一个数组传递给适配器,这样我就可以拥有一个listView