2

我想从 mssql 2008 结果创建一个自定义 json 数据,以便我的 iPhone 可以使用它。

我可以毫无问题地使用这样的 json 网站: json link

格式可能如下所示:

Place: New York
       Hotel: Widget Hotel
       Telephone: 0305525253

我应该返回哪种格式在 iPhone 上使用它?一个数组一个字符串,字典?我不知道

编辑:这是我的代码:

    namespace WebService1
{
    public class LandHelper
    {
        internal static string[] Land()
        {
            List<string> landObject = new List<string>();

            using (SqlConnection con = new SqlConnection(@"Data Source=Localhost\SQLEXPRESS;Initial Catalog=BOOK-IT-V2;Integrated Security=true;"))
            using (SqlCommand cmd = new SqlCommand(@"SELECT BEZEICHNUNG FROM LAND", con))
            {
                con.Open();
                using (SqlDataReader rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        if (rdr["BEZEICHNUNG"] != DBNull.Value)
                        {
                            landObject.Add(rdr["BEZEICHNUNG"].ToString());
                        }
                    }
                }
            }
            return landObject.ToArray();
        }
    }
}

我试过这个,但我不知道如何为我从数据库获得的值添加一个键。我认为创建自定义 json 格式会更容易。

4

2 回答 2

2

好的,如果我正确理解了这一点,您正在尝试将对象集合字符串化为 JSON,然后在您的 iPhone 应用程序中读取它们。我假设您正在询问如何从 转换object-to-JSON,并且您已经涵盖了JSON-to-object. 我会object-to-JSON在这里介绍。

您需要做的是创建一个包含 JSON 文件中所需的所有信息的类,如下所示。

public class Location
{
    public string Place { get; set; }
    public string Hotel { get; set; }
    public string Telephone { get; set; }
}

现在,在您的数据库阅读器语句中,您将要构造一个List<Location>,然后将每个添加Location到此列表中。完成此操作后,您将能够使用JSON.NET框架轻松地将集合转换为 JSON……这使得将对象转换为 JSON 变得如此简单:

// "locations" is the name of the collection
JsonConvert.SerializeObject(locations);

JSON .NET 文档

希望这可以帮助。:)

于 2012-06-06T08:05:22.013 回答
2

只需返回一个列表

  [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    [WebMethod]
    public List<StandortHelper.REGION> LAND()
    {
        return StandortHelper.LAND();
    }

您可以轻松返回 JSON-FORMAT

于 2012-06-13T07:57:53.413 回答