为了账号安全,请及时绑定邮箱和手机立即绑定

将对象的 JSON 数组转换为 List<String>

将对象的 JSON 数组转换为 List<String>

繁星点点滴滴 2021-10-13 16:31:03
我有一段 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)]
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您需要遍历您的JSONArray,将每个元素转换为 aJSONObject并从每个元素中提取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)]


查看完整回答
反对 回复 2021-10-13
  • 1 回答
  • 0 关注
  • 723 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信