【发布时间】:2017-03-02 12:37:12
【问题描述】:
我的 JSON 数据看起来像这样,我试图通过数据表发送它。但是子 json 没有解决。
{"data":[{"code":"001","name":"TEST",
"drpList":[{"name":null,"bed":"xxx","mbed":null},
{"name":null,"bed":"eeee","mbed":null}]}]}
所以我决定改成
{"data":[{"code":"001","name":"TEST",
"drpList":{"name":null,"bed":"xxx","mbed":null},
{"name":null,"bed":"eeee","mbed":null}}]}
此处为 Java 代码
public @ResponseBody JSONObject getDatafromjson(@RequestParam(required = false) String id,Model model){
JSONObject ajson = new JSONObject();
String uri = "https://191.165.1.139:8890/search?id="+id;
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
ResponseEntity<Data> result = restTemplate.exchange(uri, HttpMethod.GET, entity, Data.class);
Data data = result.getBody();
List<sList> ciflist=data.getAccList();
List<Data> list =new ArrayList<Data>();
Data d = new Data();
d.setName(data.getName());
d.setCode(data.getCode());
d.setSList(data.getSList());
list.add(d);
ajson.put("data", list);
model = getNotification(model);
return ajson;
}
这是我目前所拥有的。有人认为他们可以提供帮助吗?
数据表代码:
$('#table').DataTable({
"processing": true,
"serverSide": true,
"ajax": "Hello.php",
"bDestroy":true,
"columns":[
{"data": "code"},
{"data": "name"},
{"data": "drpList.name"},
{"data": "drpList.bed"},
{"data": "drpList.mbed"}
],
"language": {
"lengthMenu": "| View _MENU_ records per page",
"zeroRecords": "Nothing found - sorry",
"infoEmpty": "No records available",
"infoFiltered": "(filtered from _MAX_ total records)"
},
"pagingType": "full_numbers",
"lengthChange": false
});
【问题讨论】:
-
你的第二个json在
"drpList":{...},{...}附近不正确。 -
您的第二个 json 不正确,因为
drpList存储多个值,因此它的值应为[ ] array格式。或者将每个数据点分开。改变结构背后的原因是什么? -
@user3145373:好的,但是如何设置数据表。
-
@Tarwirdur Turon:好的
-
@Tarwirdur Turon:请看我更新的代码。我还添加了数据表代码