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

JSON:嵌套数组

JSON:嵌套数组

翻翻过去那场雪 2021-08-04 10:39:32
我有一个从数据库(JSON MySQL 中的数据存储)中检索数据的程序。public static int selectData(Connection conn, String db_type) throws SQLException {     JSONObject obj = new JSONObject();    String q = "SELECT * FROM common_attr_test";        PreparedStatement preparedStatement = conn.prepareStatement(q);        preparedStatement.execute();        ResultSet rs = preparedStatement.executeQuery();        while (rs.next()) {                String uuid_user = rs.getString("uuid");                String attributes_uuid = rs.getString("attributes");                obj.put("uuid", uuid_user);                obj.put("attributes",  attributes_uuid);          }            System.out.println("JSON Obj: "+obj);    return 1; } // end selectData function我设法得到了对象。输出是:JSON对象: {  "attributes": "{\"1\": {\"1\": 2, \"2\": 2, \"3\": 3}, \"2\": {\"h4y4/1123\": 4, \"h4yp:/4/1123\": 1, \"h4yyp:/4/1123\": 1, \"httyyyyp:/4/1123\": 1}, \"3\": {\"Chrome|Windows NT 6.1\": 7}, \"7\": {\"2\": 4, \"6\": 1}, \"8\": {\"1\": 1, \"2\": 1, \"3\": 1, \"4\": 1, \"5\": 1, \"6\": 1, \"7\": 1}}",  "uuid": "izyani1234561"}我需要关于如何处理数据并将信息放入不同数组/对象的建议。例如    array1 - 1:{1:2, 2:2, 3:3}    array2 - 7:{2:4, 6:1}    array3 - 8:{1:1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1}谢谢你。
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

您可以使用 Jackson Api 来实现这一点。

你必须创建与你的 json 对象相同的 Pojo 类(类应该有像“属性”、“uuid”这样的成员)。

这是你必须使用的类


com.fasterxml.jackson.core.JsonFactory;

com.fasterxml.jackson.core.JsonParser;

com.fasterxml.jackson.databind.ObjectMapper;

和代码


ObjectMapper objMapper=new ObjectMapper();

JsonFactory jfactory = new JsonFactory();

JsonParser jParser=jfactory.createJsonParser(jsonString); //json Object as String


Mapperclass mapper=objMapper.readValue(jParser,Mapperclass.class);// Mapperclass is Pojo for your jsonObject

现在您可以使用 Mapperclass 的 getter 方法来获取 java 对象或数组等中的 json 属性,例如


 String uuid=mapper.getUuid();


查看完整回答
反对 回复 2021-08-04
  • 1 回答
  • 0 关注
  • 148 浏览

添加回答

举报

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