javascriptserilizer没有正确序列化

时间:2012-03-28 18:16:35

标签: web-services javascriptserializer

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

 [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);
            }
        }

它对对象进行了serilize,但是当我在firebug中得到结果时,它看起来像这样

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

我使用Kendo和我的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来完成我的工作

2 个答案:

答案 0 :(得分:0)

你究竟要解析什么?整个响应不会解析,因为它是XML,而不是json。如果您只是尝试解析字符串元素的值,那么您可能需要将其包装在引号中。

更新

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

答案 1 :(得分: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