如何在C#中创建自定义JSON,返回值应该是多少?

时间:2012-06-06 07:37:29

标签: c# iphone asp.net ios json

我想从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格式时会更容易。

2 个答案:

答案 0 :(得分: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; }
}

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

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

JSON .NET Documentation

希望这会有所帮助。 :)

答案 1 :(得分:2)

只需返回

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

您可以轻松返回JSON-FORMAT