Java 如何在JSON中计算数据?

Java 如何在JSON中计算数据?,java,json,Java,Json,我从数据库中提取了一些数据,并希望基于这些数据创建一个JSON。JSON必须如下所示: Ducument1: { documentDescription: "some description1" idTask: 49 idDocument: 1 documentFilepath: "D:\workspace\docs" } Ducument2: {

我从数据库中提取了一些数据,并希望基于这些数据创建一个JSON。JSON必须如下所示:

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,那么谁知道哪里出了问题,尤其是在您没有告诉我们的情况下。您可能希望阅读关于,以及关于。请扩展您的答案,以包括此代码如何工作的相关细节。另外,请清理您的代码块。