Отображение строки JSON - PullRequest
0 голосов
/ 20 июня 2011

Это то, что я сделал

 $.ajax({
            type: "POST", url: "Data.aspx/CheckInsertRecord",
            data: "{EventType:'" + eventtype + "',BeginDate:'" + begindate + "'," +
                   "EndDate:'" + enddate+"' }",
            contentType: "application/json; charset=utf-8", dataType: "json",
            success: function (msg) {
            var data = $.parseJSON(msg.d);

           alert("A record of this event already exists in the database.
                  \n" +  msg.d+".");

            }});

ТАК, что происходит в коде:

public static string CheckInsertRecord(String EventType, String BeginDate, String EndDate)
{
    NCDCPoint ncdc = new NCDCPoint();
    CEOSurveyDataContext CDC = new CEOSurveyDataContext();
    int et = Convert.ToInt32(EventType);
    CultureInfo provider = CultureInfo.InvariantCulture;
    DateTime b = Convert.ToDateTime(BeginDate);
    DateTime e = Convert.ToDateTime(EndDate);
    DetailsView a = new DetailsView();



  var query = (from n in CDC.NCDCPoints
                where n.EVENT_TYPE_ID == et && n.BeginDate == b && n.EndDate == e
                select new { 
                   n.EVENT_TYPE_ID,
              BeginDate =  n.BeginDate.ToString("yyyy-MM-dd",provider),
               EndDate = n.EndDate.ToString(),
                n.BeginLAT,
              BeginLONG =  n.BeginLONG,
                n.EndLAT,
                n.EndLONG});

   if (query.Any())
   {
       return new JavaScriptSerializer().Serialize(query.ToList());
   }
   else
   {
       return "No duplicate";
   }

      }

Код может быть бесполезен. Тем не менее, строка JOSN будет отображаться довольно обычно. Я пытался использовать подробный вид, но безуспешно. Так, ребята, пожалуйста, скажите мне, пожалуйста, чтобы я мог напечатать строку JOSN в хорошем формате. Вот как сейчас отображается моя строка JSON:

{"EVENT_TYPE_ID":1,"BeginDate":"2011-06-03","EndDate":"2011-06-11",
 "BeginLAT":null,"BeginLONG":null,"EndLAT":null,"EndLONG":null}

Ответы [ 4 ]

2 голосов
/ 20 июня 2011

Если это просто для ваших потребностей в отладке, то я бы предложил использовать Firebug для Firefox. Он покажет вам все запросы AJAX и ответ сервера. Если ответ правильно отформатирован в формате JSON, он даст хороший складной вид JSON.

0 голосов
/ 20 июня 2011

Если вы хотите отобразить после обработки. Взгляните на http://james.newtonking.com/pages/json-net.aspx

Вы можете десериализовать его как объект и красиво распечатать.

0 голосов
/ 20 июня 2011

Хотя мне не ясно, в чем проблема, но похоже, что вы пытаетесь вызвать код C # из jquery, и вам это удается.

Чтобы получить объект JSON в своем коде, просто попробуйте:

<html>

    function test (data) 
    { 
        var a = $.parseJSON(data);
        alert(a.EVENT_TYPE_ID);
    }
    function load()
    {
        test('{"EVENT_TYPE_ID":1,"BeginDate":"2011-06-03","EndDate":"2011-06-11","BeginLAT":null,"BeginLONG":null,"EndLAT":null,"EndLONG":null}');
    }
</script>
</head>
<body onload="load()">
</body>
</html>

У меня работает.

0 голосов
/ 20 июня 2011

Если я понимаю ваши требования, вы хотите отобразить возвращенный JSON.

Не могли бы вы использовать переменную данных, которую вы устанавливаете с помощью $ .parseJSON?

Это даст вам объект, содержащий значения JSON.

, например

 var data = $.parseJSON(msg.d);

даст вам что-то вроде

 data.EVENT_TYPE_ID
 data.BeginDate
 //etc

, чтобы вы могли использовать это для построения отображаемой строки в любом формате, который вам подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...