JSON을 반환하는 방법은 "비우기 : 거짓"이 JSON 데이터를 가지고 있지만

Wolfik :

나는 자바 봄 부팅 응용 프로그램이 있습니다. (?하지만 잘못된 순서로) 콘솔에서 우편 배달부가 보여주는 데이터를 JSON과 내가 문자열로 변환있을 때 나는 그것을 얻을 수 있지만 된 JSONObject 반환 할 수없는 { "빈을"거짓}

내 컨트롤러 패키지 com.example.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.dao.SeriaDao;
import com.example.model.Seria;


@RestController
public class WebController {

    @Autowired
    SeriaDao sed;


    @GetMapping("/tabelka")
    public List<Seria> showTable()
    {
        return sed.findAll();
    }

    @GetMapping("/pgTabelka")
    public JSONObject pgTable(HttpServletRequest request)
    {
        int draw = 0;
        int start = 0;
        int length = 10;

        JSONObject json = new JSONObject();
        if(request.getParameter("draw")!=null)
            draw = Integer.parseInt(request.getParameter("draw"));
        if(request.getParameter("start")!=null)
            start = Integer.parseInt(request.getParameter("start"));
        if(request.getParameter("length")!=null)
            length = Integer.parseInt(request.getParameter("length"));
        int totalRecords = sed.recordsTotal();

        List<Seria> serie = sed.findPart(start, length);

        try {
            json.put("draw", ++draw);
            json.put("recordsTotal", totalRecords);
            json.put("recordsFiltered", totalRecords);
            json.put("data", serie);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        System.out.println(json);

        return json;
    }
}

내가 뭘 추가해야하고 내가 JSON 얻을 수없는 이유는 무엇 얻으려고처럼?

추신. JSON은 콘솔에 반환

{
  "recordsFiltered": 488,
  "data": [
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "$ per Week",
      "file": "SMU48185800500000011.csv",
      "cassid": "1d2e556b-031e-4c6f-aec4-981c4e907324",
      "name": "Average Weekly Earnings of All Employees: Total Private in Corpus Christi, TX (MSA)",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-01-09T00:50:01",
      "id": 41,
      "datefrom": "2006-12-31",
      "categoryid": 3,
      "frequency": 5
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "Index 2015=100",
      "file": "CP0910CYM086NEST.csv",
      "cassid": "6df5b8d5-ec39-4860-930f-a8b355cce37a",
      "name": "Harmonized Index of Consumer Prices: Audio-Visual, Photographic, and Information Processing Equipment for Cyprus",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-02-16T11:35:04",
      "id": 42,
      "datefrom": "1995-12-31",
      "categoryid": 3,
      "frequency": 5
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "$ per Week",
      "file": "SMU48185800500000011A.csv",
      "cassid": "c3bad2a6-7ad5-4091-846b-f84e9b9f7b50",
      "name": "Average Weekly Earnings of All Employees: Total Private in Corpus Christi, TX (MSA)",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-02-16T11:32:01",
      "id": 43,
      "datefrom": "2006-12-31",
      "categoryid": 3,
      "frequency": 8
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "Index 2015=100",
      "file": "CP0910CZM086NEST.csv",
      "cassid": "84483d95-d914-45ab-a87a-8c063bfc6d0f",
      "name": "Harmonized Index of Consumer Prices: Audio-Visual, Photographic, and Information Processing Equipment for Czech Republic",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-02-16T11:35:04",
      "id": 44,
      "datefrom": "1999-11-30",
      "categoryid": 3,
      "frequency": 5
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "$ per Week",
      "file": "SMU41187000500000011SA.csv",
      "cassid": "285056e3-94ce-4266-98b4-ddf32602c0c2",
      "name": "Average Weekly Earnings of All Employees: Total Private in Corvallis, OR (MSA)",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-01-09T00:50:01",
      "id": 45,
      "datefrom": "2006-12-31",
      "categoryid": 3,
      "frequency": 5
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "Index 2015=100",
      "file": "CP0910DKM086NEST.csv",
      "cassid": "9798eadf-1503-48a5-91e3-cad5852db745",
      "name": "Harmonized Index of Consumer Prices: Audio-Visual, Photographic, and Information Processing Equipment for Denmark",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-02-16T11:35:04",
      "id": 46,
      "datefrom": "1995-12-31",
      "categoryid": 3,
      "frequency": 5
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "$ per Week",
      "file": "SMU41187000500000011.csv",
      "cassid": "d4b22376-2f84-404f-a175-c04ad8ced5a5",
      "name": "Average Weekly Earnings of All Employees: Total Private in Corvallis, OR (MSA)",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-01-09T00:50:01",
      "id": 47,
      "datefrom": "2006-12-31",
      "categoryid": 3,
      "frequency": 5
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "Index 2015=100",
      "file": "CP0910EEM086NEST.csv",
      "cassid": "72880ba0-722e-46bb-98f4-7d388d217c26",
      "name": "Harmonized Index of Consumer Prices: Audio-Visual, Photographic, and Information Processing Equipment for Estonia",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-02-16T11:35:04",
      "id": 48,
      "datefrom": "1995-12-31",
      "categoryid": 3,
      "frequency": 5
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "$ per Week",
      "file": "SMU41187000500000011A.csv",
      "cassid": "03fdf50e-9cd9-483b-aecf-1a0a9e93fa4d",
      "name": "Average Weekly Earnings of All Employees: Total Private in Corvallis, OR (MSA)",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-02-16T11:32:01",
      "id": 49,
      "datefrom": "2006-12-31",
      "categoryid": 3,
      "frequency": 8
    },
    {
      "feed": "Macroeconomic_And_Major_Markets",
      "unit": "Index 2005=100",
      "file": "CP0910EZ17M086NEST.csv",
      "cassid": "2943c0f2-ad55-4ec4-98d0-70db25deaefc",
      "name": "Harmonized Index of Consumer Prices: Audio-Visual, Photographic, and Information Processing Equipment for Euro area (17 countries) (DISCONTINUED)",
      "createdate": "2016-10-15T23:38:49",
      "changedate": "2017-02-16T11:35:04",
      "id": 50,
      "datefrom": "1995-12-31",
      "categoryid": 3,
      "frequency": 5
    }
  ],
  "draw": 1,
  "recordsTotal": 488
}
엠레 검찰 :

봄 부팅 기본 시리얼로 잭슨을 사용하면 된 JSONObject 자체를 반환하기 위해 노력하고 있습니다. 잭슨은 직렬화하는 방법을 알고하지 않습니다.

당신은 당신이 아래로지도를 사용할 수있는 동적 JSON을 반환하려면 :

@GetMapping("/pgTabelka")
public Map<String, Object> pgTable(HttpServletRequest request)
{
    Map<String, Object> json = new HashMap();

    int draw = 0;
    int start = 0;
    int length = 10;

    if(request.getParameter("draw")!=null)
        draw = Integer.parseInt(request.getParameter("draw"));
    if(request.getParameter("start")!=null)
        start = Integer.parseInt(request.getParameter("start"));
    if(request.getParameter("length")!=null)
        length = Integer.parseInt(request.getParameter("length"));
    int totalRecords = sed.recordsTotal();

    List<Seria> serie = sed.findPart(start, length);

    json.put("draw", ++draw);
    json.put("recordsTotal", totalRecords);
    json.put("recordsFiltered", totalRecords);
    json.put("data", serie);

    return json;
}

아니면 클래스가 당신의 JSON 구조를 나타냅니다 작성하고 응답으로 사용자 정의 데이터 클래스를 반환 할 수 있습니다, 봄, 당신을 위해 나머지를 처리합니다.

@GetMapping("/pgTabelka")
public YourJsonDataClass pgTable(HttpServletRequest request)
{
    ...

    YourJsonDataClass json = new YourJsonDataClass();
    json.setDraw(++draw);
    json.setRecordsTotal(totalRecords);
    json.setRecordsFiltered(totalRecords);
    json.setData(serie);

    return json;
}

추천

출처http://43.154.161.224:23101/article/api/json?id=177853&siteId=1