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

json - 从 ASMX Web 服务返回 JSON,没有 XML 包装器?

我需要从 C# Web 服务获取 Json 数据。

我知道有几个基于此的问题,相信我,我已经阅读了很多,但只会让我更加困惑。

这就是我所做的:

在我的网络服务中,我包括:[System.Web.Script.Services.ScriptService]对于类和[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]对于方法

我还使用 aJavaScriptSerializer()将我的数据转换为字符串

我正在使用此服务调用此服务$.getJSON()

如果我不使用它,我会收到跨域引用错误。

为此,我必须设置 m 服务以获取回调函数名称,因此我要传递 t his.Context.Request["callback"]+ 序列化的 Json 数据;

但是在输出中我把它包裹起来

标签中的数据是我需要的格式

我还尝试使用以下方法设置内容类型:$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; charset=utf-8"});

但仍然没有成功。

后来添加:我接受了 frenchie 的 anwser,因为我知道这是正确的方法,但我仍然 cud 没有让它工作......我只是将 web 服务和网站放在同一个域中并使用 xml,我知道这不是最好的方法,但我已经花了 2 天时间,不能再浪费了。

0 投票
2 回答
5312 浏览

c# - 使用 JavaScriptSerializer 类进行 Json 转义?

我使用JavaScriptSerializer该类对 Json 进行序列化和反序列化。

know那里有一个json.net图书馆。

但我的问题是:

我也可以使用JavaScriptSerializer 类来转义我的 json 字符串吗?

还是我应该自己做?如果是这样,我应该这样做encodeURIComponent吗?

0 投票
1 回答
1535 浏览

.net - 如何序列化 EF POCO 自动生成的对象以避免循环引用?

我正在为 ASP.NET MVC 3 使用库(Telerik)。

我对需要通过 AJAX 返回一些数据的所有功能都有疑问:

我正在使用 EF4 连接我的数据库,并且我已经(并且需要)两种方式的导航属性(想象一下,一个用户有一些帖子,一个帖子有一个用户)。

问题是该库正在使用 JavaScriptSerializer,它使用 JSON 对数据进行编码。

我得到的错误

序列化“System.Data.Entity.DynamicProxies.Employee_34048F4F6A98297F826C798A27640C7383E95E8EA8282EC8A5F738FA0C77CBC3”类型的对象时检测到循环引用。”

例外,这是对的,因为父级引用了它的子级,而子级引用了它的父级。

我已经找到了一些解决方法,但没有什么能让我完全满意:

  • 使用数据服务器绑定:不能,该功能必须在 ajax 中工作(它是网格的分页器,当页面滚动到最后时加载下一个元素)
  • 使用匿名对象:不灵活,因为如果我在数据库中添加了一个字段,我必须将它添加到我所有的匿名对象中,另外,如果我需要有一个我想要的子集合,那很无聊还为此子列表的所有元素创建对象。
  • 使用 ViewModel:几乎同样的问题,如果我还有一个字段,我必须在所有 viewModel 上添加这个字段,并且我必须为我的所有 60 个视图创建一个视图模型,其字段与我的模型完全相同,...
  • 使用 NonSerializedAttribute :我不知道如何放入生成 POCO 对象的 T4 模板,我不确定它是否会起作用:有时主要对象是子对象,有时是父对象,空关系必须成为另一个。

我在使用 WCF 时遇到了几乎相同的问题,并且我创建了一个知道处理循环引用的序列化,我们可以在这里做同样的事情吗?或者有没有办法管理这个?

如果没有,我想最好的方法是使用“ViewModel”,但是有没有办法加速这些创建?像一个通用对象,它在构造函数中接受 EF 对象并删除循环引用?还要别的吗?

非常感谢你

0 投票
1 回答
3471 浏览

c# - JavaScriptSerializer.Deserialize 不接受由 JavaScriptSerializer.Serialize 序列化的日期

我怎样才能找到这个问题的根源,JavaScriptSerializer 序列化的日期值不能被 JavaScriptSerializer 反序列化?

在调用应用程序中:

在接收应用程序中:

抛出String was not recognized as a valid DateTime异常。

如果日期被 JavaScriptSerializer 序列化,那么为什么它不能被 JavaScriptSerializer 反序列化?

0 投票
1 回答
224 浏览

asp.net - 在 asp.net 中反序列化 Json 数据

我有一些 json 数据,我想把它转换成纯文本,下面是我在 JSON 中得到的内容

我在下面创建了

目前我只想得到名字。如何使用 System.Web.Script.Serialization.JavacriptSerializer 类做到这一点。

0 投票
2 回答
282 浏览

c# - i=3 的 JavaScriptSerializer 值?

应该将JavaScriptSerializer其参数序列化为 JSON!

结果是“3”(不是JSON)

我错过了什么?

编辑

我给道格拉斯·克罗克福德写了一封邮件

3 不是 json 对象/文本,而是 json 值。

所以我认为msdn应该澄清序列化方法。

http://i.stack.imgur.com/VOh3X.png

0 投票
1 回答
245 浏览

c# - 解析雅虎!使用 JavaScriptSerializer 的 Placemaker JSON 响应

我在解析从 Yahoo! 发送的 JSON 响应时遇到问题!占位符。我只需要 List LocalScopes。

我的类定义如下:

完整的 JSON 字符串如下。我在JSONLint验证了它,一切似乎都是有序的。

当我做:List<LocalScope> places = (ser.Deserialize<PlacemakerResponse>(stringJSON)).document.localScopes;

地点列表有两个 LocalScope 对象,如 JSON 字符串(到目前为止一切顺利),但所有三个成员(woeId、name、centroid)都设置为 null!

我以前多次使用 JavaScriptSerializer 并且从未遇到任何问题,有人对我做错了什么有任何建议吗?

谢谢你。

0 投票
2 回答
2314 浏览

c# - 在 C# 中使用 JavascriptSerializer 解析未知 JSON

如何使用 JavaScriptSerializer 解析一些未知的动态 JSON。特别是,我正在为 Google Calendar API 编写自己的包装器。一个事件有一个名为 extendedProperties 的对象,其中包含一个私有对象和包含一组未知属性的共享对象:

我想为 JavaScriptSerializer 创建一个这样的类:

当然也有问题。

(1) 序列化程序是否理解 & 符号,因此它会解析属性“私有”?

(2) JavaScriptSerializer 可以读/写的属性的返回类型是什么?某种字典?

提前致谢!

0 投票
2 回答
519 浏览

c# - 将 JSON 反序列化为对象

我正在接收 JSON,我需要反序列化。我正在使用 JavaScriptSerializer 来做到这一点。
例如对象

例如 JSON:

解串器方法:

但这是我收到两种不同类型的 JSON 消息的问题。那么如何确定我需要反序列化的对象呢?

0 投票
1 回答
433 浏览

c# - Is it possible to load Json to a holder object similar to XElement?

The answer to this question shows how to load a Json string to a hard-coded class using JavaScriptSerializer. However, the class structure has to be coded, and this looks impractical if you're just interested in a few values, and not interested in parsing the whole string.

Is there something similar to XElement, where I can simply load a XML string and then use xElement.Elements("Items").Select( el => el.Elements("Title")) in order to list the title of all items, for example. I prefer if I can use pure .NET without third-party libraries. It would be nice if I can also linq it like XElement

In case the context is useful, I'm trying to parse the a list of question provided by StackExchange API (json format) to a nicely formatted string, and I only want some infos like title, link, and author.