Java 如何在JSON中计算数据?
我从数据库中提取了一些数据,并希望基于这些数据创建一个JSON。JSON必须如下所示:Java 如何在JSON中计算数据?,java,json,Java,Json,我从数据库中提取了一些数据,并希望基于这些数据创建一个JSON。JSON必须如下所示: Ducument1: { documentDescription: "some description1" idTask: 49 idDocument: 1 documentFilepath: "D:\workspace\docs" } Ducument2: {
Ducument1: {
documentDescription: "some description1"
idTask: 49
idDocument: 1
documentFilepath: "D:\workspace\docs"
}
Ducument2: {
documentDescription: "some description2"
idTask: 49
idDocument: 2
documentFilepath: "D:\workspace\"
}
我试过几种方法,但都不管用。例如:
public JSONObject get(){
TaskDocumentEntity document = new TaskDocumentEntity();
JSONObject childJson = new JSONObject();
JSONArray arrayJson = new JSONArray();
JSONObject parentJson = new JSONObject();
for(int i=0;i < taskDocumentRepository.getCountDocs();i++){
jo.put("idTask",taskDocumentRepository.getAllDocumentsByIdTask().get(i).getIdTask());
jo.put("documentDescription",taskDocumentRepository.getAllDocumentsByIdTask().get(i).getDescriere());
jo.put("documentFilepath",taskDocumentRepository.getAllDocumentsByIdTask().get(i).getFilepath());
ja.add(jo);
mainObj.put(i,ja);
}
既然你不告诉我们什么不起作用,我就假设: 问题很可能是JsonObject和JSONArray相对于循环位于错误的位置 试试这个:
JSONArray ja=new JSONArray();
for(int i=0;i < taskDocumentRepository.getCountDocs();i++){
JSONObject jo=new JSONObject();
JSONObject mainObj=new JSONObject();
jo.put("idTask",taskDocumentRepository.getAllDocumentsByIdTask().get(i).getIdTask());
jo.put("documentDescription",taskDocumentRepository.getAllDocumentsByIdTask().get(i).getDescriere());
jo.put("documentFilepath",taskDocumentRepository.getAllDocumentsByIdTask().get(i).getFilepath());
mainObj.put(i,jo);
ja.add(mainObj);
}
注:
在我启动jo和ja以及mainObj的地方,我也把mainObj放了出来,这是对象创建错误的
JSONArray ja=新JSONArray
for(int i=0;i < taskDocumentRepository.getCountDocs();i++){
JSONObject jo=new JSONObject();
JSONObject mainObj=new JSONObject();
这不是有效的JSON:它缺少许多引号和逗号,还有一些东西需要转义。此外,您的问题缺少一些东西,例如预期和实际行为、错误或实际问题。是的,该评论是真实的。如果@Biffen没有击败我,我也会做出同样的评论。是的,我是真的。如果这是您所期望的JSON,那么谁知道哪里出了问题,尤其是在您没有告诉我们的情况下。您可能希望阅读关于,以及关于。请扩展您的答案,以包括此代码如何工作的相关细节。另外,请清理您的代码块。