问题标签 [datacontractjsonserializer]

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 回答
4774 浏览

asp.net-web-api - HL7 FHIR 序列化为 asp.net web api 中的 json

我正在使用由 Ewout Kramer 创建的 HL7.Fhir nuget包 0.9.3。

我将它与 ASP.NET Web API 捆绑在一起,但不幸的是,内置的 JSON 序列化没有正确生成 JSON。它包含很多这样的:

正如框架所建议的那样,此代码有效......

但这将变得非常重复,并且不遵循 Web API 的“约定”json/xml 序列化方法。

是否有其他可用的 FHIR 对象包,或者我应该自己编写?

0 投票
2 回答
1969 浏览

c# - 从接口序列化泛型类时,如何让 DataContractJsonSerializer 在类型提示中使用具体类型

我有一组如下的类:一个命令,它执行并存储一个结果;一个响应,创建它是为了以序列化形式返回结果(加上我遗漏的额外元数据)。Response.Result必须是 object 类型,因为它用于一堆不同的命令,每个命令都可以有任何类型的 Result。

命令是通用的,我希望它接受接口而不是具体类型,但是当我这样做时,序列化响应包含以下类型提示:

p>

而不是以下,当命令接受具体类型时生成:

我需要类型提示来包含具体类型而不是 ResultOfanyType。为什么在这种情况下接口被区别对待?请注意,当 Type 是序列化 Command 的直接属性时,具体类型包含在类型提示中

我尝试将类型为 Result 的 Result 的 Response 属性更改,但这没有任何效果。

这是代码。只需取消注释/注释 Main 中创建命令的行以及为替代版本列出的已知类型。

0 投票
2 回答
1090 浏览

c# - Unable to serialize System.Net.Mail.MailAddress to Json

I Have a email class as

and When I Try to serialize list of Type EmailInfo. I get the the Following error

I am Serializing using

Any help

0 投票
1 回答
6288 浏览

.net - DataContractJsonSerializer.ReadObject 有时会抛出:令牌“是预期的,但找到了”

我有一个问题发生在我们的客户身上,但在使用相同的应用程序版本和数据时不会发生在任何开发人员身上。

DataContractJsonSerializer.ReadObject抛出此异常:

Deserialising: There was an error deserializing the object of type {type}.

The token '"' was expected but found 'Â'.

当任何开发人员或我尝试重现此异常时,不会引发此异常,但会始终在客户端系统上发生。每个人都在使用 Windows 7 64 位。

我最好的猜测是这是一个文本编码问题,因为 UTF-8 字节对0xC2,0x??最终会像Â转换为Windows 1252ISO 8859-1一样。

到 UTF-8 的转换是在代码中完成的:

content错误消息一起显示,因此我们能够验证它是否是有效的 JSON 文本。它确实包含¦JSON 字符串中的引号(0xC2,0xA6在 UTF-8 中,因此可能是损坏字符的罪魁祸首)。

所以我们在 .Net 实例中有有效的 JSON string,我们使用 转换它UTF8.GetBytes,但是当DataContractJsonSerializer.ReadObject读取它时我们得到一个损坏。

知道为什么会这样吗?为什么它发生在某些机器上而不是其他机器上?

0 投票
1 回答
2607 浏览

c# - 反序列化 RD.Details 类型的对象时出错。'�19.95 Per Person' 包含无效的 UTF8 字节

当我尝试反序列化包含 £ 符号的 JSON 字符串时,我得到了异常。

反序列化 RD.Details 类型的对象时出错。'�19.95 Per Person' 包含无效的 UTF8 字节。

我记录的字符串如下:

这就是我反序列化的方式:

我不明白为什么 £ 符号被视为无效的 utf8。据我所知,它没有任何问题。

0 投票
0 回答
460 浏览

c# - 使用 DataContractJsonSerializer 反序列化具有不同元素类型数组的 JSON

我想用我的扩展反序列化 GeoJSON。

GeoJSON 的线坐标为

这可以扩展到高度之外。所以以下是 LineString 的有效 GeoJSON 坐标

所以,我定义我的类如下:

创建序列化程序时,我将“GeoJSonCooridnateExtension”作为“已知类型”传递。反序列化器成功,但将一个通用对象放入数组中,而不是我创建的类型。我尝试使用对象 API 来查询通用对象属性,但没有返回。甚至可以用 DataContractJSonSerializer 做到这一点吗?

请参阅下面的示例 JSON:

0 投票
2 回答
937 浏览

c# - 如何反序列化带有以 _ 或 $ 开头的变量名的对象列表的 JSON 响应

如何像这样反序列化 Web 响应:

在这里,我的具体问题是我无法创建一个变量名称以开头的响应类,$因为 C# 不支持这种类型的命名约定......

0 投票
1 回答
149 浏览

c# - 具有 Uint DataContractJsonSerializer 的实体框架

我有一个我称之为返回 JSON 的 api。我使用 DataContractJsonSerializer 将其反序列化为对象。

我的 JSON 可以具有高于 int.MaxValue 的 uint 值,因此我需要在我的类上有一个 uint 属性以避免异常。

我将此类用于带有代码优先(实体框架)的实体模型。

这里的问题是 EF6 不支持 uint 所以当我更新数据库时我什至没有在我的表中获取列。

现在的问题是,如果我想将 JSON 直接转换为我的模型实体,我该如何以最简单的方式解决这个问题。我可以使用序列化程序将 uint 值放入 int 中(只要它有效,我真的不在乎它是否变为负数)或者我可以以某种方式让 EF 接受我的 uint ..

我当然可以使用两个实体并在它们之间进行转换,但如果可能的话,我想避免这种情况?`

谢谢。

0 投票
1 回答
2706 浏览

json - 是否可以在不使用 DataContractJsonSerializer 的情况下使用 JsonReaderWriterFactory 将 XML 转换为 JSON?

我需要一个通用例程,它接受任何有效的 XML 并将其转换为 JSON,而无需知道底层数据类型。我知道这很容易使用 Json.Net 完成,我也知道如何使用 DataContractJsonSerializer 来完成,但我们的组织不使用 Json.Net,并且 DataContractJsonSerializer 需要启用数据协定的对象类型。

我使用 Json.Net 的工作代码:

我希望能够使用的代码,使用 JsonReaderWriterFactory 而不是 Json.Net:

有没有解决的办法?

0 投票
1 回答
738 浏览

c# - 使用 .NET DataContractJsonSerializer 序列化器使用 Dictionary 进行 JSON 序列化/反序列化

首先.. 我对 JSON.NET 或任何其他解析器不感兴趣。只有DataContractJsonSerializer

我必须使用我获得并发送到 REST API 的结构,它们看起来像这样:

我们可以看到是这样的:

我如何为我的对象赋予属性,以便序列化程序可以生成这样的结构?或者我应该创建具有覆盖每个属性的属性的对象?

问题是 - 这个网络服务似乎是这里和那里的属性,我什至不确定所有可能的名称。因此,KVP 列表似乎是一个不错的选择,但它对我不起作用。