问题标签 [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 投票
1 回答
700 浏览

c# - JavaScriptSerializer 和 ValueTypes (struct)

对于一个项目,我在 C# 中创建了几个结构。probject 本身是一个 ASP.Net MVC 2 项目。

剪辑:

我创建它是因为我需要将 char 变量限制为特定数量的值。(我本可以创建一个 Enum,但这些值也在数据库中使用,然后我仍然需要转换它们)

现在我需要创建一个 JsonResult,比如

但是当我这样做时,我得到的结果是:

我希望得到一个结果

我尝试了几件事,比如 TypeConverter (CanConvertTo(string))、Custom Type Serializer (JavaScriptSerializer.RegisterConverters()),但它们要么不起作用,要么必须返回一个“复杂”的 json 对象。

对此有什么想法吗?
我想将值类型序列化为值...

0 投票
1 回答
4269 浏览

c# - c#反序列化JSON对象列表错误

当我反序列化为对象列表时,它可以工作,但是当我反序列化为具有列表类型的对象时,它会出错。知道如何使它工作吗?

页面名称:testjson.aspx

错误消息:值“System.Collections.Generic.Dictionary`2[System.String,System.Object]”不是“JSON.Person”类型,不能在此通用集合中使用

0 投票
3 回答
231 浏览

c# - 需要帮助解析 JSON

以下解析 JSON 的代码不起作用。我究竟做错了什么?

谢谢

0 投票
1 回答
211 浏览

asp.net-mvc - 发现导致循环引用错误的属性

我正在尝试反序列化一个休眠对象。由于某种原因,我收到了循环引用错误。问题是我无法从中找出导致错误的属性。我已经用 [ScriptIgnoreAttribute] 标记了所有连接的类,但仍然没有。

0 投票
1 回答
500 浏览

ajax - Telerik MVC Q1 2011 Grid with Ajax Edit 在序列化字典对象时中断

Telerik MVC Q1 2011 将以下内容列为第一个重大更改:


与 Q3 2010 Service Pack 1(程序集版本 2010.3.1318)相比的更改

重大变化

整个数据项在 Ajax 编辑期间发送到服务器
现在,网格在 ajax 编辑期间将整个数据项对象发送到服务器。在此之前,只提交了可编辑的字段。


不确定这是否是我的问题的原因,但我启用 Ajax 编辑的网格现在确实坏了,而它之前工作正常。不幸的是,我不知道该怎么做才能解决它。

我假设如果您在 Telerik 相关问题上提供帮助,您也可以访问我在 Telerik 论坛上的帖子。在那里,我附上了两个项目作为问题的例子。它们是相同的,除了一个使用 Telerik MVC Q3 2010 并且可以工作,另一个使用 Telerik MVC Q1 2011 并且不工作。

异常详细信息: System.ArgumentException:字典的序列化/反序列化不支持类型“blah”,键必须是字符串或对象。

请查看示例,并让我知道如何使用最新版本恢复业务。

谢谢!

0 投票
3 回答
12335 浏览

c# - JSON用函数参数序列化一个对象

我有这个 C# 对象:

我需要 JSON 序列化它以在 ajax 调用中传递给浏览器。我使用 JavascriptSerializer,但它序列化为以下 JSON:

但我需要的是:

  • 函数定义周围没有引号。

现在,当 JSON 对象到达浏览器并被创建时,'callback' 参数不是一个函数,而是一个字符串。知道如何解决它,最好是在服务器端?

0 投票
3 回答
2202 浏览

c# - 使用 JavaScriptSerializer 反序列化多个 JSON 结果

我正在尝试在这个问题的末尾反序列化示例 JSON,如下所示。但是 results.count 始终为 0。我怎样才能用多个数据反序列化这个 JSON,这样我就可以循环使用

json字符串:

JSON 作为 C# 字符串,对于 MVCE:

0 投票
3 回答
3616 浏览

c# - 使用 JavascriptSerializer 将自定义类型属性序列化为字符串

我现在使用 .NET JavascriptSerializer 类将我的对象序列化为 JSON 表示形式并在客户端使用它。只要我坚持使用 int、string 等默认类型,一切都很好。但是,现在我想在我的对象上序列化一个自定义类型属性。让我们看一个我的课的例子:

我想要的 Wat 是一个看起来像这样的客户端对象:

为了完成这项工作,我尝试使用 JavaScriptConverter 但这似乎并没有解决问题,因为它只能处理字典,什么会使结果看起来像这样:

那不是我想要的。顺便说一下,我确实在 MyCustomObject 类上实现了 toString。

有什么建议么?

谢谢分配。

0 投票
6 回答
139180 浏览

c# - 使用 JavaScriptSerializer() 反序列化 JSON 文件

我将反序列化的 json 文件的结构如下所示;

我创建了一个类,该类将文件名作为 JavaScriptSerializer 的属性。我将用来反序列化 json 的代码如下;

我的问题是如何读取 json 文件上的用户字段。如下所示;

它具有子属性和值。我如何在我的 Response 课程中命名它们。我的响应类现在看起来像这样;

最好的情况是什么?

0 投票
1 回答
399 浏览

c# - 通过扩展类将实体框架对象变成泛型类?

我有一个名为 PagePreference 的 EF 对象。对应的表包含三个字段:UserName(PK, varchar(200), not null)、PageName(PK, varchar(700), not null)和PageState(text, null)。PageState 字段包含一个序列化 (json) 对象。我有另一个类文件,它通过 'partial' 关键字扩展了这个 EF 对象。这个想法是,在任何给定的页面上,我都可以创建一个对象来包含页面状态并将其序列化到 PagePreference 对象中的 PageState 字段中。每个页面都有不同的 PageState 对象,因此它们彼此不兼容。因此,我希望 PagePreference 对象使用泛型(例如 PagePreference),以便在加载对象时,它可以将页面状态反序列化为适当的类('T')。然而,当我将通用符号添加到扩展的 PagePreference 对象时,VisualStudio 认为它是一个新对象。任何人都知道让这个工作的方法吗?