问题标签 [javascriptserializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
17 回答
35840 浏览

c# - 如何不序列化 JSON 对象的 __type 属性

WebMethod我从a返回的每个对象ScriptService都被包装到一个 JSON 对象中,其中的数据位于名为 的属性中d。没关系。但我不希望将附加__type属性提供给客户端,因为我使用 jQuery 进行手动处理。

可能吗?

0 投票
1 回答
1313 浏览

json - 带有斜线的 JSON 对象

我正在使用以下方法序列化为 json 对象:

但是,当我填充隐藏字段时,我会得到斜线:

"[{\"ImageLink\":\"\",\"ShowOnHomePage\":null,\"Type\":\"AdListItem\",\"Key\":null,\"Title\":\" dsafdsaf\",\"Url\":\"fdsafdsa\",\"ContentSummary\":\"\u003cdiv\u003efdsafdsa\u003c/div\u003e\"},{\"ImageLink\":\"\", \"ShowOnHomePage\":null,\"Type\":\"AdListItem\",\"Key\":null,\"Title\":\"hddfg\",\"Url\":\"dsaf\ ",\"ContentSummary\":\"\u003cdiv\u003efdsafdsa\u003c/div\u003e\"},{\"ImageLink\":\"\",\"ShowOnHomePage\":null,\"Type\": \"AdListItem\",\"Key\":null,\"Title\":\"asfd\",\"Url\":\"asdf\",\"内容摘要\":\"\u003cdiv\u003eafds\u003c/div\u003e\"}]"

我将如何正确摆脱 \" 并将它们替换为 " ???

有任何想法吗?

谢谢。

0 投票
3 回答
10566 浏览

asp.net - 具有自定义类型的 JavaScriptSerializer

我有一个返回类型为 List 的函数。我在启用 JSON 的 WebService 中使用它,例如:

这返回:

我也需要在一个简单的 aspx 文件中使用这段代码,所以我创建了一个 JavaScriptSerializer:

但它返回没有类型:

有谁知道如何让第二个序列化工作像第一个一样?

谢谢!

0 投票
5 回答
42400 浏览

asp.net - 超出 JavaScriptSerializer.MaxJsonLength。处理此问题的最佳做法是什么?

我使用 jQuery 的 $.ajax() 函数将大量数据发送到客户端。我在 ASP.NET Web 服务中调用一个返回 JSON 数据的方法。对于大多数搜索来说,一切都很好,但是当我要返回一个大数据集时,我遇到了 JavaScriptSerializer MaxJsonLength 属性的问题。处理此问题的最佳做法是什么?我不想随意设置最大长度。如果返回的数据大于当前最大值,我可以在 Web 服务中设置 MaxJsonLength,还是应该重新编写数据并将数据块发送到客户端?

这是来自网络服务的相关片段:

0 投票
8 回答
102770 浏览

c# - JavaScriptSerializer.Deserialize - 如何更改字段名称

摘要:使用 JavaScriptSerializer.Deserialize 时,如何将 JSON 数据中的字段名称映射到 .Net 对象的字段名称?

更长的版本:我从服务器 API 收到以下 JSON 数据(未在 .Net 中编码)

我有以下 C# 对象:

其中 DetailLevel 是一个以“Low”作为值之一的枚举。

此测试失败:

最后两个断言失败,因为这些字段中没有数据。如果我将 JSON 数据更改为

然后就过去了。但我无法更改服务器的行为,并且我希望客户端类在 C# 惯用语中具有命名良好的属性。我不能使用 LINQ to JSON,因为我希望它在 Silverlight 之外工作。看起来 XmlElement 标签没有效果。我不知道我从哪里得到它们相关的想法,它们可能不相关。

你如何在 JavaScriptSerializer 中进行字段名称映射?可以做到吗?

0 投票
7 回答
37061 浏览

c# - JavaScriptSerializer 可以排除具有空值/默认值的属性吗?

我正在使用 JavaScriptSerializer 序列化一些实体对象。

问题是,许多公共属性包含空值或默认值。有没有办法让 JavaScriptSerializer 排除具有 null 或默认值的属性?

我希望生成的 JSON 不那么冗长。

0 投票
1 回答
24092 浏览

c# - 使用 System.Web.Script.Serialization.JavascriptSerializer 反序列化 JSON - 如何?

注意:我发布了一个类似的问题,这是这个问题的祖先,因为我最初想使用 JSON.NET 来解析 JSON,但我使用的是内置的反序列化器,所以这是一个不同的问题。

这就是我想要做的:例如,我有一个名为 Item 的类。json 有许多“元素”(如果它们被称为 - 它们模仿 Item 类),每个包含 3 个字段:一个名为 id 的整数、一个名为 name 的字符串和一个名为 creationTime 的日期时间。我想将 json 中的所有这些 Item “元素”解析为 Item 对象列表。我在 Item 类中创建了 3 个字段来匹配 JSON。

这就是我目前正在做的事情:

但是,这不起作用,因为我“无法将类型 'superapi.Item' 隐式转换为 'System.Collections.Generic.List <superapi.Item>'”。因此,我不知道如何解决这个问题,因为 JSON 中有很多 Item 架构的元素。是否有可能在 foreach 循环中执行此操作,找到 JSON 中的每个反序列化项目,将其添加到列表中,然后继续循环?我将尝试使用一些类似的代码来做到这一点,我将发布我的结果。

谢谢!

更新:这是一些 JSON 的样子:

这就是我的 Item 类的样子:

0 投票
6 回答
38160 浏览

c# - ASP.NET WebService 正在用 XML 标记包装我的 JSON 响应

我不确定我错过了什么。

我正在构建一个 ASP.NET 2.0(在 .Net 3.5 框架上)Web 应用程序,并且包含一个 Web 服务。请注意,这不是MVC 项目。我希望公开一个返回 JSON 字符串的方法;格式化以提供 jqGrid jQuery 插件。

这是我在服务中实现的初步测试方法:感谢(Phil Haack's Guide for MVC

调用时返回(为清晰起见格式化):

如果没有xml 包装,我将如何实现上述响应?

0 投票
1 回答
5063 浏览

c# - 你如何让 System.Web.Script.javascriptSerializer 忽略一个属性?

0 投票
2 回答
1846 浏览

vb.net - 将 DataTable 转换为 JSON 的 VB.NET 问题

好的,所以我正在尝试使用 JavaScriptSerializer 来处理代码。但是,当它到达最后一行时会崩溃;

我收到此错误消息;

序列化“System.Reflection.Module”类型的对象时检测到循环引用。

我真的很感激任何可以帮助解决这个问题的见解。