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

c# - 从 C# .NET 中的 DataTable 到 JSON

我对 C# 和 .NET 还很陌生,但是我编写了这段代码来调用存储过程,然后我想获取返回的 DataTable 并将其转换为 JSON。

那么我的问题是最好/最简单的方法是什么?一个例子会很棒,因为我对此还是很陌生。

0 投票
29 回答
598201 浏览

c# - JavaScriptSerializer - 枚举的 JSON 序列化为字符串

我有一个包含enum属性的类,并且在使用 序列化对象时JavaScriptSerializer,我的 json 结果包含枚举的整数值而不是它的string“名称”。有没有办法将枚举作为string我的 json 中的 a 而不必创建自定义JavaScriptConverter?也许有一个属性可以用来装饰enum定义或对象属性?

举个例子:

所需的 JSON 结果:

理想情况下寻找内置 .NET 框架类的答案,如果不可能的话(如 Json.net)是受欢迎的。

0 投票
17 回答
304582 浏览

c# - 如何使用 C# 在 .NET 中获取格式化的 JSON?

我正在使用 .NET JSON 解析器,并希望序列化我的配置文件,使其可读。所以而不是:

我想要更好的东西,比如:

我的代码是这样的:

0 投票
1 回答
1450 浏览

jquery - 删除特殊字符后评估“使用 JavaScriptSerializer() 的序列化对象”

我需要评估一个 JavaScriptSerializer() 对象。

上面的行给出的输出为:

当我将 eval 用于序列化内容时,例如:

它抛出一个错误:

属性列表后缺少 }

这是因为 eval 期间序列化对象中的特殊字符(在 FooterNotes 中带有 " 和开始和结束引号之间的一些其他字符)。

如何在 eval 之前删除序列化中的特殊字符?

或者我如何SalesTaxPercentage从序列化对象中获取值?

0 投票
2 回答
11124 浏览

javascript - JavaScriptSerializer 将对象“集合”反序列化为对象失败中的属性

我有一个结构如下的 js 对象:

我正在使用 JSON.stringify(object) 通过 ajax 请求传递它。当我尝试使用 JavaScriptSerializer.Deserialize 作为字典对其进行反序列化时,出现以下错误:

没有为“System.String”类型定义无参数构造函数。

这个完全相同的过程适用于具有非“集合”属性的常规对象..感谢您的帮助!

0 投票
1 回答
1050 浏览

c# - 如何从 JavaScriptSerializer 生成的对象中提取信息

我正在用 C# 开发一个可以控制 SqueezeboxServer(SBS) 的应用程序。与 SBS 的通信是通过 JSON 消息发送到http://serverIP:9000/jsonrpc.js 所以我通过 HTTPWepRequest 发送 JSON 消息并通过 HTTPWebResponse 获得答案。

我得到的答案是 JSON 表示法的字符串。这就是问题开始的地方......现在我使用 JavaScriptSerializer 将 JSON 消息转换为对象。这是这样的:

这段代码给了我一个包含我要求的数据的对象。我要求的数据可能非常不同。有时答案是单个答案,而在其他情况下可能是多个答案。

让我们考虑一下我包含的两个图像:

第一个显示了反序列化器返回后的对象。您可以看到该对象是具有 4 个键值对的字典。我感兴趣的kvp是第4个。关键的“结果”是保存我需要的数据的那个。但是这个键有另一个字典作为值。这一直持续到我想要的实际数据,即专辑名称及其 ID。

替代文字

在第二张图片中,我想要的数据是属于“_count”键的值 0。如您所见,这个对象不那么复杂。

替代文字

所以我的问题的底线是我如何制定一个可以检索我想要的信息但适用于不同类型的对象(如不同深度)的解决方案?

希望任何人都可以向我发送正确的方向。

谢谢!

0 投票
1 回答
2289 浏览

c# - 为什么 JavaScriptSerializer 会忽略我的转换器?

我正在尝试读取包含日期/时间的 JSON 对象,其格式无法直接由 .NET 的 DateTime 结构解析。为了避免在我的日期/时间结构中有一个“int”字段,我编写了一个自定义 DateTimeConverter:

但是当我使用 JavaScriptSerializer 读取 JSON 字符串时,它不使用我的自定义转换器:

当我直接反序列化 DateTime 值时使用转换器而不是当我反序列化包含 DateTime 值的类型时。

为什么?在不编写自定义 DateTime 类型或使用 int 的情况下有什么办法吗?

0 投票
2 回答
984 浏览

asp.net - 为什么从 JScript.NET 调用 JavaScriptSerializer 返回错误答案?

在 ASP.NET/C# 中:

返回fruits=["apple","banana","crunchberries"]

在 ASP.NET/VB.NET 中:

返回fruits=["apple","banana","crunchberries"]

但在 ASP.NET/JScript.NET 中:

返回fruits=["0","1","2"]

这似乎完全被打破了。可以通过显式声明水果的数据类型来修复它,这使其成为“本机数组”:

返回fruits=["apple","banana","crunchberries"]

我不明白为什么要获得正确的序列化类型是强制性的。(var fruits = ["apple","banana","crunchberries",5]可能是糟糕的代码,但它在 Javascript 和 Jscript 中都是合法的。)假设 JScript 数组比本机数组慢,但它们仍然可以工作,对吧?

0 投票
4 回答
46538 浏览

c# - 无效的 Json 基元

你能帮我解决这个问题吗?我有一个 asp.net 应用程序,在这个应用程序中,我使用 Javascript 序列化程序来序列化数据集,然后转换为列表。该代码如下所示。

但是,在反序列化时,我得到了一个 ArguementException,例如 Invalid Json Primitives 和我的 Json 值。我的 json 值是

反序列化的代码是:

其中 lstDoc 是我的班级类型的列表集合

我得到了这样的例外:

请帮我解决这个问题。提前致谢

0 投票
2 回答
2317 浏览

serialization - JavaScriptSerializer 和 monodevelop

我正在阅读这本书,但我使用 System.Web.Script.Serialization 命名空间中的 JavaScriptSerializer,因为它似乎不可用?