[英]Convert JSONObject to List<JSONObject> or a String to List<JSONObject>
I submit a query from my Java application, which upon running on Elasticsearch server returns the result in the form of a string.我从我的 Java 应用程序提交了一个查询,它在 Elasticsearch 服务器上运行时以字符串的形式返回结果。 I want the result as a list of JSONObject
objects.我想要结果作为JSONObject
对象的列表。 I can convert the string to a JSONObject
using JSONObject jsonResponse = new JSONObject(responseString)
.我可以使用JSONObject jsonResponse = new JSONObject(responseString)
将字符串转换为JSONObject
。
Is there any method by which I can get this in the form of a List<JSONObject>
?有什么方法可以以List<JSONObject>
的形式获取它?
Instead of using JSONObject you may use JSONArray .您可以使用JSONArray代替 JSONObject 。 If you really need to convert it to a List you may do something like:如果您确实需要将其转换为列表,您可以执行以下操作:
List<JSONObject> list = new ArrayList<JSONObject>();
try {
int i;
JSONArray array = new JSONArray(string);
for (i = 0; i < array.length(); i++)
list.add(array.getJSONObject(i);
} catch (JSONException e) {
System.out.println(e.getMessage());
}
There is an answer of your question: https://stackoverflow.com/a/17037364/1979882你的问题有答案: https : //stackoverflow.com/a/17037364/1979882
ArrayList<String> listdata = new ArrayList<String>();
JSONArray jArray = (JSONArray)jsonObject;
if (jArray != null) {
for (int i=0;i<jArray.length();i++){
listdata.add(jArray.get(i).toString());
}
}
This method is really easy and works too这个方法真的很简单,也很管用
try {
JSONObject jsonObject = new JSONObject(THESTRINGHERE);
String[] names = JSONObject.getNames(jsonObject);
JSONArray jsonArray = jsonObject.toJSONArray(new JSONArray(names));
ArrayList<String> listdata = new ArrayList<String>();
JSONArray jArray = (JSONArray)jsonArray;
if (jArray != null) {
for (int i=0;i<jArray.length();i++){
listdata.add(jArray.get(i).toString());
}
}
// System.out.println(listdata);
} catch (Exception e) {
System.out.println(e.getMessage());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.