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

ASP.NET Web API部分响应Json序列化

潘彦
2023-03-14
问题内容

我正在实现一个支持部分响应的Web API。

/api/users?fields=id,name,age

给定班级用户

[JsonObject(MemberSerialization.OptIn)]
public partial class User
{
  [JsonProperty]
  public int id { get; set; }

  [JsonProperty]
  public string firstname { get; set; }

  [JsonProperty]
  public string lastname { get; set; }

  [JsonProperty]
  public string name { get { return firstname + " " + lastname; } }

  [JsonProperty]
  public int age { get; set; }
}

序列化所有属性时,Json格式化程序效果很好,但是我无法在运行时对其进行修改以告诉它忽略某些属性,具体取决于查询参数“字段”。

我正在使用JsonMediaTypeFormatter。

为了自定义格式化程序,我遵循了http://tostring.it/2012/07/18/customize-json-result-in-web-
api/
,但是我找不到任何有关如何强制格式化程序的示例忽略一些属性。


问题答案:

创建自己IContractResolver的告诉JSON.NET哪些属性需要序列化。官方文档中有一个示例,您可以从中汲取灵感。



 类似资料:
  • 问题内容: 我是编程新手。我目前正在使用地图功能,该功能要求我获取当前位置和最终位置之间的方向,但是我不知道如何从JSON响应中提取文本。 此JSON响应是从api生成的。 这只是JSON响应的一部分。 我希望在显示的代码中提取“文本”,以将其显示在列表框中。 任何帮助都感激不尽。 问题答案: 您需要将JSON反序列化为C#类,可以使用Newtonsoft JSON.NET Converters。

  • 我试图编写完整的多部分流,从客户端使用Spring restTemplate发送多部分请求,从服务器端自动将不同部分解析为对象(我使用JAXB进行对象封送),并以多部分形式返回响应。 我能够实现几乎所有的流,但是我不能从spring Controller中用jaxb对象发送多部分响应。 试图使he FormHttpMessageConverter正确地编写部分,但这没有帮助 是否有任何方法使Spr

  • 问题内容: 我正在构建RESTful API,并希望为开发人员提供选择以在JSON响应中返回哪些字段的选项。 这篇博客文章显示了几个API(Google,Facebook,LinkedIn)如何允许开发人员自定义响应的示例。这称为部分响应。 一个示例可能看起来像这样: 在上面的示例中,API应该返回用户“ 123”的userId,fullName和title字段。 我正在寻找有关如何在我的REST

  • 我正在尝试使用stackexchange API。在这个链接中,我试图得到一些用户的信息。 如果您运行,您将得到JSON响应。

  • 我是VueJs的新手 "https://github.com/coreui/coreui-free-vue-admin-template/blob/master/src/views/base/Tables.vue" 在上面的vue中。我想动态地将数据分配给“someData”变量。我试着像下面那样把它绑起来,但没用。