Я получаю сообщение «DataTables: данные JSON с сервера не могут быть проанализированы. Это вызвано ошибкой форматирования JSON« Я знаю, что это может быть дубликат других потоков, я используя java и dataTables в моем коде .. Я получаю вывод в формате JSON, но его не распознают на стороне клиента во время печати.Не удалось разобрать данные JSON с сервера
Когда я проверил объект JSON в http://jsonlint.com/, он находится в правильном формате. Я не уверен, что вызывает эту ошибку.
{ "iTotalRecords": 5, "sEcho": "1", "aaData": [[ "V2993ASFKH230943", "Хонда", "Согласие"], [ "V2993A39SNF30943", "Хонда",» CRV "], [" V4833A39SNF30943" , "Acura", "TSX"], [ "V4833RE9SNF30943", "Acura", "TL"], [ "V9383RE9SNF30943", "Acura", "MDX"]], "iTotalDisplayRecords" : 5}
Любая помощь была бы действительно оценена.
Благодаря
EDIT
try {
JSONObject jsonResponse = new JSONObject();
jsonResponse.put("sEcho", sEcho);
jsonResponse.put("iTotalRecords", iTotalRecords);
jsonResponse.put("iTotalDisplayRecords", iTotalDisplayRecords);
while (itr.hasNext()) {
Map rs = (Map) itr.next();
FleetEquipment eqpmt = new FleetEquipment();
eqpmt.setVinNumber((String) rs.get("VIN_ID"));
eqpmt.setMake((String) rs.get("MAKE"));
eqpmt.setModel((String) rs.get("MODEL"));
JSONArray row = new JSONArray();
row.put(eqpmt.getVinNumber()).put(eqpmt.getMake())
.put(eqpmt.getModel());
data.put(row);
}
jsonResponse.put("aaData", data);
response.setContentType("application/json");
response.getWriter().print(jsonResponse.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
response.setContentType("text/html");
response.getWriter().print(e.getMessage());
}
EDIT 1
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<portlet:defineObjects/>
<portlet:resourceURL var="listURL" id="list" escapeXml="false"/>
<script type="text/javascript">
$(document).ready(function() {
$('#listTable').dataTable({
"bServerSide": true,
"sAjaxSource": "<%=listURL.toString()%>",
"bProcessing": true,
"sPaginationType": "full_numbers",
"bJQueryUI": true
});
});
</script></head>
<body>
<table id="listTable">
<thead>
<tr>
<th>VIN ID</th>
<th>MAKE</th>
<th>MODEL</th>
<th>MODEL1</th>
<th>Model2</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Вы уверены, что с вашим вышеупомянутым JSON нет никаких дополнительных слов? Я имею в виду, как любые ошибки? – linuxeasy
Да .. Я проверял ссылку, о которой я упомянул выше. – user525146
Я понял, что вы подтвердили, но вы проверили его в firebug, что касается окончательного результата. было то, что выход Firebug сервера? Возможно, вы проверяете правильный json, но не принимаете его из окончательного вывода. Итак, вы взяли его из финального выхода, например, firefug? – linuxeasy