如何在java中从数据库生成JSON对象?

如何在java中从数据库生成JSON对象?,java,json,Java,Json,我想从数据库生成JSON对象,但有一个复杂的结构。我不清楚如何在下面的Json字符串中创建类似“值”的复杂结构。请帮助任何人,提前谢谢。这是我要创建的Json字符串: [{"type":"person1","id":null,"values":[[[32.3619,50.9291],[32.3604,50.9644],[32.3446,50.9395]]]}] 代码我已经试过了 Session sess1 = sf.openSession();

我想从数据库生成JSON对象,但有一个复杂的结构。我不清楚如何在下面的Json字符串中创建类似“值”的复杂结构。请帮助任何人,提前谢谢。这是我要创建的Json字符串:

[{"type":"person1","id":null,"values":[[[32.3619,50.9291],[32.3604,50.9644],[32.3446,50.9395]]]}]
代码我已经试过了

                Session sess1 = sf.openSession();
                Query q = sess1.createQuery("from person");
                List l = q.list();
                Iterator itr = l.iterator();
                JSONArray jArray = new JSONArray();
                JSONObject jObj = new JSONObject();
                String id = null, lat, lng;
                while (itr.hasNext()) {
                    Person pobj = (Person) itr.next();
                    id = pobj.getId().toString();
                    lat = pobj.getLatitude();
                    lng = pobj.getLongitude();
                }
                jObj.put("type", "Person1");
                jObj.put("id", id);

                JSONArray jrray = new JSONArray();
                jArray.put(jObj);
                JSONObject jObjDevice = new JSONObject();
                jObjDevice.put("", jArray);
                System.out.println("json object created" + jObjDevice.toString());

如果您使用java,则使一个模态类与数据库表字段相同,并将db的结果集转换为该模态类….模态类是java实体

基于该java实体,使用gson[com.google.code.gson]lib并将其转换

你只是在谷歌上搜索了很多例子

使用

运行它

java -cp .;jackson-all-1.9.11.jar MapToJsonExample

type example.json
{"values":[[[32.3619,50.9291],[32.3446,50.9395]]],"id":null,"type":"person1"}

我鼓励您避免使用所有这些样板代码,并使用JPA和类似Jackson或类似的框架。业务应用程序开发人员不应该在这些基础设施上浪费时间:)

我想您使用的是像MySQL这样的关系数据库。要以对象形式检索记录,可以利用。你可以在互联网上找到大量教程。

然后你能给我一些有用的链接或帮助,比如“值”:[[[32.3619,50.9291],[32.3604,50.9644],[32.3446,50.9395]]}]是如何构建的。我是json新手,我必须很快地做到这一点:(我可能需要做一些实验,我想你也可以自己尝试。这里用Jackson的例子说明了另一种方法。我认为outerList的声明非常可怕,但它应该符合要求。
java -cp .;jackson-all-1.9.11.jar MapToJsonExample
type example.json
{"values":[[[32.3619,50.9291],[32.3446,50.9395]]],"id":null,"type":"person1"}