当前位置: 首页 > 面试题库 >

替换WCF默认JSON序列化

池照
2023-03-14
问题内容

是否可以替换WCF的默认JSON序列化(我目前正在测试webHttp行为),并application/json作为MIME类型传递。特别是,我不喜欢默认情况下每个属性都是键/值对,例如:

{"Key":"PropertyName", "Value":"PropertyValue"}

我仅将服务用于启用JSON的端点(使用jQuery + WCF请求数据)。


问题答案:

您可以使用消息格式化程序来更改用于处理JSON的序列化程序。https://docs.microsoft.com/zh-
cn/archive/blogs/carlosfigueira/wcf-extensibility-message-
formatters上

的文章显示了如何将默认序列化器(DataContractJsonSerializer)更改为另一个序列化器(JSON.NET)的示例。
)。



 类似资料:
  • 问题内容: 我想用JSON.NET替换默认的WCF JSON(对于所有数据类型)序列化。我在网上搜索了所有内容,却找不到有效的解决方案。 这是我的对象: 这是我的WCF函数: 这是Global.asax中的代码: 这是Web.Config: 和服务部分: 最后,这是启动URL时得到的: “ http:// localhost:30000 / Brands / Get ” JSON答案显然会忽略JS

  • 问题内容: 有什么方法可以用Newtonsoft Json.Net json序列化程序替换内置的WCF服务应用程序JavascriptSerializer? 问题答案: WCF不使用。它使用DataContractJsonSerializer。是的,您可以通过编写自定义消息格式化程序来用Json.NET替换它,如以下博客文章所示。

  • 问题内容: 无论如何,是否可以在WCF中更改DateTime的默认JSON序列化/反序列化? 目前,DateTime已序列化为该格式,应该没问题,但是当我的服务器不在UTC中时(我无法更改),我遇到了问题。 此服务正在处理的所有日期/时间数据均为UTC格式。服务器处于UTC时一切正常。但是,暂存/生产环境设置为GMT + 1(Paris),并且序列化程序假定日期/时间在GMT + 1中,而完全忽略

  • 我有通过WCF(servicecontract接口、dataContracts等)从服务器检索数据应用程序 我有对象: 我将DataRow中字典填充为(列名)-->(列中的值) DataRow中的某些单元格可以为空。字典中具有所有非空值的对象将正确地序列化和反序列化。但如果值为null,则服务只需停止序列化而不会出现任何错误。它并没有停止工作:我的应用程序仍然试图将请求重复到service,而我在

  • 问题内容: 我对WCF有点陌生,将尝试清楚地描述我要做什么。 我有一个使用JSON请求的WCF Web服务。我在大多数情况下都可以很好地发送/接收JSON。例如,以下代码可以正常运行,并且符合预期。 JSON已发送: WCF: 这将按预期返回带有“ Dave”的JSON对象。问题是我无法始终保证我收到的JSON与我的DataContract中的成员完全匹配。例如,JSON: 由于大小写不匹配,将无

  • 我正在尝试替换默认的android电话呼叫应用程序。更具体地说,我希望在每次执行呼叫操作时启动我的自定义电话呼叫屏幕。