JSON:嵌套数组

我有一个从数据库(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}

谢谢。

回答:

您可以使用Jackson Api来实现。

您必须创建与json对象相同的Pojo类(该类应具有“ attributes”,“ 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对象或Arrays等中的json属性

 String uuid=mapper.getUuid();

以上是 JSON:嵌套数组 的全部内容, 来源链接: utcz.com/qa/429377.html

回到顶部