json 데이터를 가져 오는 데 문제가 있습니다. 나는 2 가지 예를 창조했다. 하나는 작동하지만 다른 하나는 작동하지 않습니다. 그리고 내가 필요한게 뭔지 알아? 예, 작동하지 않는 것. 여기에 코드가 있습니다.자바 스크립트 JSON 문제
json 데이터를 출력하는 웹 서비스가 있지만 어떤 이유로 괄호 []를 문자열에 추가하고 작은 따옴표 ''가 누락되었습니다. doens't 작동하지 않는 코드를 보면, 나는 괄호를 수동으로 제거하고 작은 따옴표를 추가하는 것을 볼 수 있습니다. div에 문자열을 쓰면 유효한 Json 데이터입니다. 해당 문자열을 가져 와서 새 변수를 수동으로 선언하면 jQuery.parseJSON이 올바르게 작동합니다. 그러나 새로 생성 된 객체를 구문 분석하면 작동하지 않습니다. 아무도 아이디어가 없나요?
작품 파인
$.ajax({
type: "POST",
async: false,
contentType: "application/json; charset=utf-8",
url: "StudiesWebService.asmx/EventList",
data: "{}",
dataType: "json",
success: function(msg) {
var obj = jQuery.parseJSON('{ "id": 1, "title": "Jack STuff", "start": "\/Date(1318939200000)\/", "end": "\/Date(1318950000000)\/", "allDay": false }, { "id": 2, "title": "asdfasdfasdf", "start": "\/Date(1319025600000)\/", "end": "\/Date(1319025600000)\/", "allDay": false}');
var events2 = [];
events2.push({
title: obj.title,
allDay: obj.allDay,
start: 'Tue, 18 Oct 2011 10:00:00 EST',
end: 'Tue, 18 Oct 2011 11:00:00 EST'
});
callback(events2);
},
error: function(e) { $(".external-events").html("An Error Occured" + e); }
});
은 작동하지 않습니다
$.ajax({
type: "POST",
async: false,
contentType: "application/json; charset=utf-8",
url: "StudiesWebService.asmx/EventList",
data: "{}",
dataType: "json",
success: function(msg) {
var myObj = new String(msg.d);
myObj = myObj.replace("[", "");
myObj = myObj.replace("]", "");
myObj = "'" + myObj + "'";
//at this point myObj output to this:
//'{"id":1,"title":"Mike STuff","start":"\/Date(1318939200000)\/","end":"\/Date(1318950000000)\/","allDay":false},{"id":2,"title":"asdfasdfasdf","start":"\/Date(1319025600000)\/","end":"\/Date(1319025600000)\/","allDay":false}'
var obj1 = jQuery.parseJSON(myObj);
alert(obj1.id); //alert doesn't come up
var events = [];
events.push({
title: obj1.title,
allDay: obj1.allDay,
start: 'Tue, 18 Oct 2011 10:00:00 EST',
end: 'Tue, 18 Oct 2011 11:00:00 EST'
});
callback(events);
},
error: function(e) { $(".external-events").html("An Error Occured" + e); }
});
+1 제이슨 : – yoda
모두에게 감사드립니다. 당신은이 오류를 수정했을뿐만 아니라 내가 가지고있는 몇 가지 다른 것들을 고쳤다. 방금 자바 스크립트와 jquery로 작업하기 시작했고 힘든 시간을 보내고 있습니다. vb.net 환경에서오고 C# 및 jquery를 배우는 것이 나의 배후에 있습니다. – MikeB55
나쁜 json을 뱉어내는 webservice를 제어합니까? 그럴 경우 여기에서 보상하려고 노력하지 말고 왜 해결하지 않겠습니까? –