Web服务获取杰森

时间:2018-11-14 23:27:21

标签: java json rest

我有问题, 我想通过Web服务获得Json。

我的json是这个:

[{"id":"test","prix":"0,76"},{"id":"test2","prix":"0,76"},{"id":"BODOUR","prix":"0,76"}]

我的代码:

    @GetMapping(value="/setup/tarif/getTarifElectricity")
public JSONArray getTarifGrid() throws IOException, SAXException {

    String filePath = Common.filePathData("setup.tarif", "tarif.txt");
    byte[] bytes = Files.readAllBytes(Paths.get(filePath));
    String tarifGrid = new String(bytes,"UTF-8");
    JSONArray jsonArr = new JSONArray(tarifGrid);
    System.out.println(jsonArr.toString());
    return jsonArr;
}

但是当我想测试我的网络服务时,结果是:

{"empty": false}

在chrome显示{“ empty”:false}上而不是我的JsonArray上的localhost:8080 / setup / tarif / getTarifElectricity

我的SYSOUT返回我:

[{"prix":"0,76","id":"test"},{"prix":"0,76","id":"test2"},{"prix":"0,76","id":"BODOUR"}]

谢谢

1 个答案:

答案 0 :(得分:0)

您是否已经尝试过从方法中返回字符串?我的意思是:

return jsonArr.toString();

在我看来,原因是JSONArray对象仅包含信息,无论它是否为空。因此,Jackson仅将此信息映射到该对象的JSON表示形式。但是,如果要获取所有数据,则需要使用jsonArr.toString();