我正在尝试读取JSON响应,但是当我解析它时,它会分成字母,而不是JSON对象。下面是我的代码和调试时看到的结果。
谢谢。
$.get(sUrl)
.done(function(results) {
if (results != null) {
debugger;
var resultInJsonFormat = JSON.parse(results);
// tried this as well
// var resultInJsonFormat = JSON.parse(results.toString());
var resultJsonArray = resultInJsonFormat.TimeEvents;
var timeEventResults = [];
for (var i = 0; i < resultJsonArray.length; i++) {
var resultx = resultInJsonFormat.TimeEvents[i];
}
}
})
.fail(function(err) {
if (err !== undefined) {
var oErrorResponse = $.parseJSON(err.responseText);
sap.m.MessageToast.show(oErrorResponse.message, {
duration: 6000
});
} else {
sap.m.MessageToast.show("Unknown error!");
}
});
================调试器结果================
results = "{"TimeEvents":"[{\"timeEventId\":\"5974\",\"empID\":\"00000004\",\"timeEventType\":\"CheckOut\",\"logDate\":\"Oct 16, 2017\",\"logTime\":\"11:00:43 PM\",\"readLogDate\":\"Oct 16, 2017\",\"readlogTime\":\"08:13:55 PM\",\"dayAssignment\":1,\"terminalId\":2,\"origin\":1},{\"timeEventId\":\"5995\",\"empID\":\"00000004\",\"timeEventType\":\"CheckIn\",\"logDate\":\"Oct 17, 2017\",\"logTime\":\"11:45:15 PM\",\"readLogDate\":\"Oct 17, 2017\",\"readlogTime\":\"07:40:41 AM\",\"dayAssignment\":1,\"terminalId\":2,\"origin\":1},{\"timeEventId\":\"10280\",\"empID\":\"00000004\",\"timeEventType\":\"CheckOut\",\"logDate\":\"Oct 24, 2017\",\"logTime\":\"11:45:14 PM\",\"readLogDate\":\"Oct 18, 2017\",\"readlogTime\":\"05:55:43 PM\",\"dayAssignment\":1,\"terminalId\":2,\"origin\":1}]"}"
resultJsonArray = "[{"timeEventId":"5974","empID":"00000004","timeEventType":"CheckOut","logDate":"Oct 16, 2017","logTime":"11:00:43 PM","readLogDate":"Oct 16, 2017","readlogTime":"08:13:55 PM","dayAssignment":1,"terminalId":2,"origin":1},{"timeEventId":"5995","empID":"00000004","timeEventType":"CheckIn","logDate":"Oct 17, 2017","logTime":"11:45:15 PM","readLogDate":"Oct 17, 2017","readlogTime":"07:40:41 AM","dayAssignment":1,"terminalId":2,"origin":1},{"timeEventId":"10280","empID":"00000004","timeEventType":"CheckOut","logDate":"Oct 24, 2017","logTime":"11:45:14 PM","readLogDate":"Oct 18, 2017","readlogTime":"05:55:43 PM","dayAssignment":1,"terminalId":2,"origin":1}]"
iteration i = 0
resultx = "["
iteration i = 1
resultx = "{"
答案 0 :(得分:0)
您的results
错误地具有一个字符串值,而不是您期望的数组。注意第一个冒号后的双引号。
results = "{"TimeEvents":"[{...
遍历字符串中的每个项目将返回一个字符,这是您看到的行为。
检查数据源。返回有效的JSON吗?