列表更改为json格式

时间:2015-07-21 10:45:26

标签: javascript c# asp.net json

我想将列表更改为json格式。我该怎么办?

        var db = new TelephoneBookDataContext();

        List<string> Capitals = (from U in db.Users
                                 where U.Name.ToLower().StartsWith(name.ToLower())
                                 select U.Name).ToList();
        return Capitals;

Java脚本部分我不能像这样的代码部分

 $("document").ready(function () {
        $("#<%= txtSearch.ClientID %>").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "Show.aspx/GetName",
                    data: "{'name':'" + $("#<%= txtSearch.ClientID %>").val() + "'}",
                    dataType: "json",
                    type: "POST",
                    success: function (data) {
                        response(data.d);
                    },
                    error: function (result) {
                        console.log(result);
                    }
                });
            },
            minLength: 2
        });
    });

1 个答案:

答案 0 :(得分:0)

  

首先添加名称空间

using System.Web.Script.Serialization;
  

然后使用JavaScriptSerializer类

JavaScriptSerializer jss = new JavaScriptSerializer();

string output = jss.Serialize(ListOfMyObject);
  

您的列表是字符串类型,因此如果符合以上条件,您可能需要尝试以下操作   不要工作。

string[][] ArrayCapitals = Capitals.Select(x => new string[]{x}).ToArray();

string json = JsonConvert.SerializeObject(ArrayCapitals );