微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Json没有以所需的模式返回正确的值

我需要这个作为我的json回归.这些数据是从数据库提取的,但目前我正在使用静态数据.

{
        "data": [
            {
                "id": 1,"latitude":17.3700,"longitude": 78.4800,"gallery":
                    [
                        "assets/img/items/1.jpg"
                    ]
            }
        ]
    }

我已经在我的代码中尝试了这个但是我没有得到理想的结果.

[WebMethod]
    [ScriptMethod(UseHttpGet = true,ResponseFormat = ResponseFormat.Json)]
    public List<> getData()
    {
        Account account = new Account
        {
            id = 1,latitude = "17.3700",longitude ="78.4800",gallery = new List<string>
                  {
                    "assets/img/items/1.jpg","assets/img/items/2.jpg",}
        };
        return new JavaScriptSerializer().Serialize(account);
    }

    public class Account
    {
        public int id { get; set; }
        public string latitude { get; set; }
        public string longitude { get; set; }
        public IList<string> gallery  { get; set; }
    }

结果:

{
 "id":2,"latitude":"17.3700","longitude":"78.4800","gallery":["assets/img/items/1.jpg","assets/img/items/2.jpg"]
}

解决方法

您需要使用data属性创建一个新类:

public class Result { public object[] Data { get; set; } }

并返回:

public string getData()
{
    Result result = new Result
    {
        Data = new [] { new Account { id = 1,... } }
    };

    return new JavaScriptSerializer().Serialize(result);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐