2011-11-04 16 views
19

Szukam sposobu na sformatowanie (jak w białych znakach, znakach nowej linii, gdzie jest to odpowiednie) wyniku JSON, aby wyświetlić rzeczywisty wynik, ale dobrze sformatowany.JSON formatter lib

$.ajax({ 
       url: "/Home/Send", 
       type: "POST", 
       data: JSON.stringify(request), 
       dataType: "json", 
       contentType: "application/json; charset=utf-8", 
       success: function (data) { 
        $("#ResponseBody").val(data.ResponseBody); 
       }, 
       error: function (data) { 
        alert(data); 
       } 
      }); 

to jest mój kod, który działa dobrze data.ResponseBody zawiera JSON, ale zgodnie z oczekiwaniami, to nie jest dobrze sformatowany.

Czy ktoś wie o wtyczce/metodzie jQuery, która pozwoli mi sformatować odpowiedź?

Odpowiedz

39

można po prostu użyć trzeci parametr JSON.stringify:

success: function (data) { 
     var obj = JSON.parse(data.ResponseBody); 
     $("#ResponseBody").val(JSON.stringify(obj, null, 4)); 
    }, 

nie zapomnij dodać regułę CSS jak #ResponseBody {white-space: pre;} aby wyświetlanie znaków nowej linii.