如何解析JSON字符串以获取原始数据

时间:2016-09-29 07:59:31

标签: javascript jquery asp.net json

我是新手。

我正在使用JSON字符串。

我的jquery看起来像

GetData

我的 {["\"id"\:"\"10001"\"\"name"\:"\"ABC"\]} //JSON string WebMethod返回一个包含数据表数据的JSON字符串

          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);

$("#Table").append("<tr><td>" "</td></tr>");返回JSON字符串以上,但我想在成功函数中将此JSON字符串转换为服务器端的表

我检查了我的解决方案,我在成功函数中获得字符串值。 我尝试了上面的jquery函数,但我想在表中使用JSON字符串值(如何反序列化以获取表)

(我已修改.has-error { border-bottom: 2px solid red; }

1 个答案:

答案 0 :(得分:0)

使用JSON.parse解析数据,然后在$.each中使用两个参数i,v其中i是索引,v是对象并访问您的值v.idv.name。要指定哪个列表示仅将表格的标题指定为$('#Table').append("<th><td>ID</td><td>NAME</td></th>");

&#13;
&#13;
$.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);
                    });

          });
&#13;
&#13;
&#13;