JSON:API规范与使用NewtonSoft

根据https://jsonapi.org/format/

* JSON对象必须位于每个包含数据的JSON:API请求和响应的根。该对象定义了文档的“顶层”。 文档必须至少包含以下顶级成员之一:

数据:文档的“主要数据”

错误:一组错误对象

:包含非标准元信息的元对象。*

因此,考虑到此元,数据和错误元素的有效JSON文档应该看起来像(只是一个例子):

{
  "meta": {
    "uuid": "e77d8a4b-dc00-445c-8cf6-118704c5525b","key": "key123","api_version": "1.0"
  },"data": {
    "type": "agent","attributes": {
      "uuid": "a4470f04-c6eb-45b2-9487-d1cecc869b5f","name": "hostname","operating_system": "microsoft Windows 10 Pro (microsoft Windows NT 6.2.9200.0)",}
  }
}

使用C#和Newtonsoft.Json.SerializeObject序列化此对象:

public class Device : Meta
{
    public long Id { get; set; }
    public string Name { get; set; }
}

public class Meta
{
    public string key { get; set; }
    public string guid { get; set; }
    public string api_version { get; set; }
}

然后:

var device = new Device { Name = Environment.MachineName,key = "key123",guid = "41afe993-2629-40a2-98bb-4cbd4e5c5bb0",api_version = "1.0"};
var deviceJson = JsonConvert.SerializeObject(device,Formatting.Indented);

我得到一个json文档:

{
  "id": 0,"name": "SOLMOB007","Software": [],"guid": "41afe993-2629-40a2-98bb-4cbd4e5c5bb0","api_version": "1.0"
}

如果我必须在模型类中实现(数据,错误,元元素处理),或者我可以在调用serializeobject /构造函数时指示序列化器添加它们,可以对我进行解释吗?

非常感谢!

基督徒

ppliang69 回答:JSON:API规范与使用NewtonSoft

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3129746.html

大家都在问