我有问题, 我想通过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"}]
谢谢
答案 0 :(得分:0)
您是否已经尝试过从方法中返回字符串?我的意思是:
return jsonArr.toString();
在我看来,原因是JSONArray对象仅包含信息,无论它是否为空。因此,Jackson仅将此信息映射到该对象的JSON表示形式。但是,如果要获取所有数据,则需要使用jsonArr.toString();