0

我有一个网络服务,其中只有一种方法

 [WebMethod]
        public string GetMovies()
        {
            using (var dataContext = new MovieCollectionDataContext())
            {
                var query = dataContext.Movies.Select(m =>new{m.Title,m.ReleaseDate}).Take(20);
                var serializer = new JavaScriptSerializer();
                return serializer.Serialize(query);
            }
        }

它对对象进行序列化,但是当我在萤火虫中得到结果时,它看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">[{"Title":"SQL","ReleaseDate":"\/Date(1224007200000)\/"},{"Title":"Termonator Salvation","ReleaseDate":"\/Date(1224007200000)\/"}]</string>

我正在使用剑道,我的 jquery 方法是

 var dataSource = new kendo.data.DataSource(
                {
                    transport: {
                        read: {
                            type: "POST",
                            dataType: "json",
                            url: "/MovieService.asmx/GetMovies"
                            //contentType: "application/json; charset=utf-8",

                        }
                    },
                    change: function (e) {
                        alert(e);

                    },
                    error: function (e) {
                        alert(e[2]);
                    },
                    pageSize: 10,
                    schema: {
                        data: "d"

                    }

在上面的 jquery 中有一个错误,即使它调用我得到这个错误

SyntaxError: JSON.parse: unexpected character

请帮助我获得正确的 JSON plz 我真的需要正确的 JSON 来完成我的工作

4

2 回答 2

0

你到底想解析什么?整个响应不会解析,因为它是 XML,而不是 json。如果您尝试仅解析字符串元素的值,那么您可能需要将其用引号引起来。

更新:

JSON.parse('[{"Title":"SQL","ReleaseDate":"\/Date(1224007200000)\/"},{"Title":"Termonator Salvation","ReleaseDate":"\/Date(1224007200000)\/"}]')

于 2012-03-28T18:24:07.740 回答
0

这篇博文展示了如何从 ASMX 服务返回 JSON: http: //encosia.com/using-jquery-to-consume-aspnet-json-web-services/

这是一个正在运行的项目,展示了如何将 Kendo Grid 绑定到 ASMX 服务:https ://github.com/telerik/kendo-examples-asp-net/tree/master/grid-web-service-crud

于 2012-04-01T09:41:42.073 回答