问题标签 [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 回答
1517 浏览

c# - 包装 JSON 时使用 JavaScriptSerializer 反序列化对象

JSON 示例:

我用来反序列化的代码是:

我与反序列化代码一起使用的代码是:

构成 HubspotRecord 的代码被省略了。当我对未包裹在“1”后面的 json 数据运行该过程时,它可以完美运行。

目前我在想我的问题是json被包裹在“1”中。由于命名约定,我无法将属性与 JavaScriptSerializer 一起使用,也无法创建标记为“1”的根元素。

有什么想法吗?

0 投票
1 回答
221 浏览

c# - 无法弄清楚为什么我在我的 jsonp 序列化中得到重复数据

我正在使用我在 SO 上的搜索中找到的自定义 JsonpResult 类。我已经通读了代码,并且了解它是如何工作的(至少我认为是这样),但是……由于某种原因,当我序列化我的. 时Object,我得到了重复的字符串……为什么会这样?

这是自定义类

这是我的控制器动作

这是输出结果。

CALLBACK1001({"results":[{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title" :"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":" a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a" },{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"}, {"id":1,"title":"a"},{"id":1,"title":"a"}],"success":true});CALLBACK1001({"results":[{ “id”:1,“标题”:”a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a" },{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"}, {"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{" id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id" :1,"title":"a"}],"success":true});{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{" id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id" :1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1 ,"title":"a"}],"success":true});{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{" id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id" :1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1 ,"title":"a"}],"success":true});"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title ":"a"}],"成功":true});"title":"a"},{"id":1,"title":"a"},{"id":1,"title":"a"},{"id":1,"title ":"a"}],"成功":true});

为什么我JsonResponse被连载了两次?

在此处输入图像描述

0 投票
1 回答
925 浏览

javascript - ASP.NET JavascriptSerializer 提供不需要的数组内数组?

在我开始之前,我很确定这里给出的答案是我答案的 90%,但我只是不知道如何将它应用于我的情况,所以我会很感激任何帮助。

当我使用JavasriptSerializer序列化数组数组时,如下所示:

我得到这样的回应:


有时我希望 ASP.NET 使用此函数的输出,以便它可以动态地将 Javascript 生成到网页的标题中,如下所示:

为了在我的页面中得到以下 JS:


在动态 JS 创建时调整 JSON 的创建或处理它的最佳方法是什么,以便我可以轻松地将数组数组附加到字符串 'var myJSArr' 上?


为了将来对某人有所帮助,我将根据提供的答案/评论来编辑此问题,以在此处包含一些代码,这些代码证明可以满足我的要求。首先 foo 需要返回一个数组而不是这样的字符串......

这导致了一个如下所示的 JSON blob:

然后我可以使用下面的代码来动态构建 JS 代码。我不确定以下代码是否是最好的方法(对于不应该非常复杂的东西来说,这似乎是一大堆代码),但它至少可以工作

0 投票
2 回答
929 浏览

azure - Azure 时区和 javascriptserializer 对象

我有一个基于预测的应用程序,它在 Windows Azure ( http://ipredikt.com ) 上运行。据我所知,Azure 的时钟与 GMT 时区同步。这是我遇到的一个问题:

假设我有一个类型为 DateTime 的名为 CreateDate 的数据库字段,我将其值设置为 2011 年 6 月 10 日上午 12:30。创建新预测时。如果我在 db 表内窥视,则日期设置正确。我不会以任何方式触摸或更改此值。但是,当我使用我们的 API 读取该值,将其序列化并将其发送给客户端时,我会得到一个值为 2011 年 6 月 9 日下午 5:30 的日期。(API dll 也存在于云端,可能与 DB 并置。)

我的客户端浏览器在 PST(太平洋时区)运行,似乎 7 小时的差异是由于 PST 和 GMT 之间的差异。用于序列化值的 API 代码与此类似:

System.Web.Script.Serialization.JavaScriptSerializer 序列化器 = new JavaScriptSerializer();

返回序列化程序。序列化(数据对象);

这是 JavaScriptSerializer 对象中的错误还是有修复此增量的技巧?基本上,我不希望 .NET 框架以任何方式干扰这个值,我只希望 DB 字段按原样返回。

0 投票
5 回答
20590 浏览

c# - 使用 JavaScriptSerializer 序列化字典

显然,IDictionary<string,object>被序列化为对象数组KeyValuePair(例如[{Key:"foo", Value:"bar"}, ...])。是否可以将其序列化为对象(例如,{foo:"bar"})?

0 投票
2 回答
769 浏览

c# - 包含数组的 JSON 上的 JavaScriptSerializer

有一个标题相同的类似问题,但该解决方案对我的问题无效。

我正在尝试序列化以下 JSON:

在我的 C# 中使用此结构:

我让 JavaScript 将带有上述 JSON 的 POST 发送到此 C# 函数:

id 和 text 设置正确,但 q 设置为包含两个空 Question 对象的 List (Id 和 Text 在每个中为空)。

我的 JSON 格式是否不正确?为什么 Questions 数组不能正确传播?

0 投票
1 回答
1255 浏览

asp.net-mvc - 基于 Fluent Nhibernate 模型的 ASP.NET MVC JSON

我正在尝试JsonResult使用 MVC 控制器标准Json(object)方法返回。我的类型对象Model1是由 Fluent NHibernate 构建的。

Model1具有类型的属性Model2。在调试模式下,我看到环境创建了一个Model2名为的代理后代类Castle.Proxies.Model2Proxy。我相信,Fluent Nhibernate 在内部使用它来满足我的映射。而在运行时,实际的 model1.Model2 是 type Castle.Proxies.Model2Proxy

问题是当我Model1被序列化时,Model2也被序列化了。并且序列化器似乎试图序列化这个对象的所有属性,包括那些由 Castle 生成但我不需要的属性。如果它没有引起异常,我会同意的。也就是说,在这个对象内部的某个地方出现了一个循环引用,并且异常是由它引起的。这是异常文本:

System.InvalidOperationException: A circular reference was detected while serializing an object of type 'System.Reflection.RuntimeModule'

我仔细检查了我的域,发现那里没有循环引用,所以我责怪城堡。我对么?城堡真的应该为此负责吗?如果是这样,我有什么选择?如何告诉序列化程序忽略 Castle 属性?特别是,我如何告诉它序列化定义的类型,而不是实际的类型?

我倾向于用 ViewModels 覆盖我的域模型来解决这个问题,这是一种推荐的方法,但我真的很想知道另一种治疗方法,如果它存在的话。

0 投票
1 回答
4218 浏览

javascript - 返回 JsonConvert.SerializeObject(json) [.NET handler] 后在 javascript 上解析 JSON

我正在.net 平台上开发一个 Web 应用程序。

我编写了一个将 JSON 对象返回给 Javascript 的处理程序代码(在我在 AJAX 中请求之后)。

处理程序代码:

在 Javascript 中,当我发出警报时,我看到我得到了一个对象。这很好。
但现在我想将其解析为 JSON。

当我这样做时,JSON.parse(msg);我得到一个错误

“JSON.parse:意外字符”

当我jQuery.parseJSON(msg);使用 jquery-1.6.2 时,出现此错误

jQuery.parseJSON 不是函数(我使用的是 jquery-1.6.2)

问题是什么?

0 投票
1 回答
19486 浏览

asp.net - ASP.NET 的 JSON 最大长度问题

我正在创建一个 asp.net 2.0 webservice,它提供 json 作为输出,并且有一个非常大的、无法分解的数据集,它超过了最大长度限制

我在互联网上搜索过,.net 3.5 和 4 上有解决方案,但 2.0 没有。

谁能告诉我如何增加 JSON 长度限制?

0 投票
2 回答
1502 浏览

c# - 在 C# 中使用 JavaScriptSerializer 反序列化泛型对象数组

我正在从循环中调用 rest API,并且我的对象名称是在运行时确定的。我可以在这里对一个对象使用反射,但是如何获取对象列表?