如何在java中从数据库生成JSON对象?
我想从数据库生成JSON对象,但有一个复杂的结构。我不清楚如何在下面的Json字符串中创建类似“值”的复杂结构。请帮助任何人,提前谢谢。这是我要创建的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();
[{"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"}