2015-01-10 2 views
0

내가 PHP에서 보낸 JSON의 종류가 객체 :자바 스크립트/jQuery를 솔루션은

{"status":"error","message":"Firstname is invalid"}{"status":"error","message":"Lastname is invalid"}{"status":"success","message":"Middle name is fine"} 
아약스 성공 꼬추에 저를 검색하는

:

success:function(data){ 
data=JSON.parse(data); 
//need to loop trough data here 
} 

때문에 문제가 한 번에 console.log (data.status/* AND */data.message)해야합니다.

(1) 오류 FIRSTNAME가 (2) 오류 성이 유효 무효 (: 나는 followong을 CONSOLE.LOG 할 수 있도록하려면 위의 json으로 예에 따라서

(위 주석을 무시) 3) 성공 중간 이름은. 내가) 그들을 실제로 번호가 필요하지 않습니다이 크롬 콘솔 꼬추에 같이 방법을 의미한다 ("(위의 숫자)"

괜찮

////////

실제로 달성하고자하는 것은 status.value (성공 또는 오류 발생)에 따라 alrtify.js를 사용하여 성공/오류 메시지를 표시하는 것입니다. 하나의 알림에 모두 표시하고 싶지 않습니다. 각 오류/성공이 별도의 알림으로 표시되기를 바랍니다. 나는 그들을 위해 물마루를 반복 할 필요가있다.

나를 도와 줄 수 있습니까?

success:function(data){ 
    data=JSON.parse(data); // you probably shouldn't be using this line 
    data.forEach(function (item) { 
     console.log(item.status + ' ' + item.message); 
    }); 
} 
+5

JSON 텍스트가 잘못되었습니다. 구문 분석을 호출 할 때 오류가 발생합니다. –

답변

0

: "성공", "메시지": "상태"{} "성이 잘못되었습니다." 그것은 다음과 같아야합니다 :

[{"status":"error","message":"Firstname is invalid"},{"status":"error","message":"Lastname is invalid"},{"status":"success","message":"Middle name is fine"}]; 

그래서 궁극적으로 반복 할 수 있습니다.

var data = [{"status":"error","message":"Firstname is invalid"},  
      {"status":"error","message":"Lastname is invalid"},  
      {"status":"success","message":"Middle name is fine"}]; 

for(var i in data) 
{ 
console.log(data[i].message) 
} 
0

. Plase는 문자열 개체가 쉼표로 구분됩니다. '{ "상태": "오류", "메시지": "이름이 잘못되었습니다"} { "상태": "오류", "메시지" : 당신의 JSON 형식에 봐주십시오 "중간 이름은 괜찮습니다"} '

var data = '[{"status":"error","message":"Firstname is invalid"}, {"status":"error","message":"Lastname is invalid"}, {"status":"success","message":"Middle name is fine"}]'; 

var parsedData = JSON.parse(data); 

parsedData.forEach(function(item, index) { 
    alert(item.status + " - " + item.message); 
    console.log(item.status + " - " + item.message); 
}); 
0

이 코드는 나를 위해 마법처럼 작동합니다 : 당신이 실제로 받고있는 것은 배열이 아닌 당신이 보여준 그 잘못된 JSON이라고 가정

0
success:function(data){ 
    data=JSON.parse(data); // you probably shouldn't be using this line 
    var data = $.parseJSON(item); 
     for (var i=0; i < data.length; i++){ 
      var obj = data[i]; 
      var status = obj.status; 
      var message = obj.message; 

     } 
    });