Как разобрать строку JSON, чтобы получить исходные данные

Я новичок в этом.

Я использую строку JSON.

Мой jquery выглядит как

      var data1 = {};                            
      data1.code = $("#ddlList option:selected").text();   //Taking dropdown list value


           $.ajax({
                type: "POST",
                url: "Default.aspx/GetData",
                data: JSON.stringify(data1),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    var data = JSON.stringify(data);
                    var data = $.parseJSON(data);

                    $.each(data, function (i) {
                        $("#Table").append("<tr><td>"  "</td></tr>");
                    });

My GetDataWebMethod возвращает строку JSON, содержащую данные таблицы данных

       {[""id":""10001"""name":""ABC"]}         //JSON string

содержит следующее

          System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
            Dictionary<string, object> row;
            foreach (DataRow dr in dt.Rows)
            {
                row = new Dictionary<string, object>();
                foreach (DataColumn col in dt.Columns)
                {
                    row.Add(col.ColumnName, dr[col]);
                }
                rows.Add(row);
            }
            return serializer.Serialize(rows);   

return serializer.Serialize(rows); возвращается выше строки JSON, но я хочу преобразовать эту строку JSON в таблицу на стороне сервера в функции успеха

Я проверил свое решение, я получаю строковое значение в функции успеха.
Я пытался, как выше jQuery функции, но я хочу JSON строковые значения в таблице(как десериализовать его так, чтобы получить таблицу )

(Я изменил $("#Table").append("<tr><td>" "</td></tr>"); )

1 ответ

  1. анализ данных с помощьюJSON.parse, а затем в вашем $.eachиспользовании два параметра i, v, где iиндекс и vобъект и доступ к значению как v.idи v.name. Чтобы указать, какой столбец представляет то, что просто укажите заголовки таблицы как $('#Table').append("<th><td>ID</td><td>NAME</td></th>");

    $.ajax({
                    type: "POST",
                    url: "Default.aspx/GetData",
                    data: JSON.stringify(data1),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        var data = JSON.parse(data);
                        $('#Table').append("<th><td>ID</td><td>NAME</td></th>");
                        $.each(data.d, function (i, v) {
                            var str = "<tr><td>" + v.id +"</td><td>" + v.name + "</td></tr>";
                            $("#Table").append(str);
                        });
    
              });