将 JSON 个对象数组转换为列表 <String>
Convert JSON Array of Objects to List<String>
我在 JSON 中有一部分选择数据,我想将其转换为 Java ArrayList。
String q = "SELECT attributes FROM common_attr_test";
PreparedStatement preparedStatement = (PreparedStatement) conn.prepareStatement(q);
preparedStatement.execute();
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
valueAttributes = rs.getString("attributes");
}
JSONObject obj=(JSONObject)JSONValue.parse(valueAttributes);
JSONArray arrOne=(JSONArray)obj.get("1");
System.out.println(arrOne);
从代码中,我得到以下结果:
[{"entry":"1","count":1},{"entry":"2","count":1},{"entry":"3","count":1}]
我尝试使用
编码
ArrayList<String> listOne = new ArrayList<String>();
if (arrOne != null) {
int len = arrOne.size();
for (int i=0;i<len;i++){
listOne.add(arrOne.get(i).toString());
}
}
System.out.println(arrOne);
System.out.println("\nlistOne:"+listOne);
并得到结果:
[{"entry":"2","count":3}]
我的问题是如何将结果放入 Java 中的 ArrayList,如下所示:
[(1,1),(2,1),(3,1)]
您需要遍历 JSONArray
,将每个元素转换为 JSONObject
并从每个元素中提取 entry
和 count
值,然后生成一个字符串并添加到您的列表中:
if (arrOne != null) {
JSONObject entryCountJson;
String entry, count;
for (Object o : arrOne) {
entryCountJson = (JSONObject) o;
entry = String.valueOf(entryCountJson.get("entry"));
count = String.valueOf(entryCountJson.get("count"));
listOne.add("(" + entry + "," + count + ")");
}
}
System.out.println("arrOne: "+arrOne);
System.out.println("listOne: "+listOne);
这输出:
arrOne: [{"entry":"1","count":1},{"entry":"2","count":1},{"entry":"3","count":1}]
listOne: [(1,1), (2,1), (3,1)]
我在 JSON 中有一部分选择数据,我想将其转换为 Java ArrayList。
String q = "SELECT attributes FROM common_attr_test";
PreparedStatement preparedStatement = (PreparedStatement) conn.prepareStatement(q);
preparedStatement.execute();
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
valueAttributes = rs.getString("attributes");
}
JSONObject obj=(JSONObject)JSONValue.parse(valueAttributes);
JSONArray arrOne=(JSONArray)obj.get("1");
System.out.println(arrOne);
从代码中,我得到以下结果:
[{"entry":"1","count":1},{"entry":"2","count":1},{"entry":"3","count":1}]
我尝试使用
编码ArrayList<String> listOne = new ArrayList<String>();
if (arrOne != null) {
int len = arrOne.size();
for (int i=0;i<len;i++){
listOne.add(arrOne.get(i).toString());
}
}
System.out.println(arrOne);
System.out.println("\nlistOne:"+listOne);
并得到结果:
[{"entry":"2","count":3}]
我的问题是如何将结果放入 Java 中的 ArrayList,如下所示:
[(1,1),(2,1),(3,1)]
您需要遍历 JSONArray
,将每个元素转换为 JSONObject
并从每个元素中提取 entry
和 count
值,然后生成一个字符串并添加到您的列表中:
if (arrOne != null) {
JSONObject entryCountJson;
String entry, count;
for (Object o : arrOne) {
entryCountJson = (JSONObject) o;
entry = String.valueOf(entryCountJson.get("entry"));
count = String.valueOf(entryCountJson.get("count"));
listOne.add("(" + entry + "," + count + ")");
}
}
System.out.println("arrOne: "+arrOne);
System.out.println("listOne: "+listOne);
这输出:
arrOne: [{"entry":"1","count":1},{"entry":"2","count":1},{"entry":"3","count":1}]
listOne: [(1,1), (2,1), (3,1)]