gpt4 book ai didi

c# - 将自定义数据插入从 DataModel 序列化的 JSON

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:20 26 4
gpt4 key购买 nike

我有数据模型类,我正在将其序列化为 JSON,以便能够将序列化的 JSON 发布到 Web 服务。数据模型如下所示:

using Newtonsoft.Json;
namespace WebCrawler.Models {
[JsonObject(MemberSerialization.OptIn)]
public class LinkDataViewModel
{
[JsonProperty]
public string Title { get; set; }
.....
[JsonProperty]
public string CustomerID { get; set; }
}
}

我应该如何将数据模型类更改为序列化的 JSON,如下所示:

{"PostPropertyRequest": {SerializedDataModel}}

最佳答案

您可以用这种方式编写您的自定义 json(使您的类从 JsonConverter 派生并覆盖 3 个方法)

using Newtonsoft.Json;
namespace WebCrawler.Models {
[JsonObject(MemberSerialization.OptIn)]
public class LinkDataViewModel : JsonConverter
{
[JsonProperty]
public string Title { get; set; }
.....
[JsonProperty]
public string CustomerID { get; set; }

public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
if (value == null)
{
serializer.Serialize(writer, null);
return;
}
var properties = value.GetType().GetProperties();
writer.WriteStartObject();
//your custom property
writer.WritePropertyName("PostPropertyRequest");
writer.WriteStartObject();
foreach (var property in properties)
{
// write property name
writer.WritePropertyName(property.Name);
serializer.Serialize(writer, property.GetValue(value, null));
}
writer.WriteEndObject();
writer.WriteEndObject();
}
}
}

引用这个很好article用于文档

关于c# - 将自定义数据插入从 DataModel 序列化的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com