c# - 使用 JsonConvert.SerializeObject 序列化派生列表

标签 c# json serialization

我有一个简单的类(class):

 public class ProductListStoredModel: List<Product>
 {
        public int NextId { get; set; }
 }

如果我使用:

  ProductListStoredModel stored_model = ...
  string new_json = JsonConvert.SerializeObject(stored_model);

它会很乐意序列化列表。但是,它不会将“NextId”添加到 JSON。有没有一种简单的方法可以做到这一点(例如添加属性)?

最佳答案

  class Program
    {
        static void Main()
        {
            ProductListStoredModel stored_model = new ProductListStoredModel();
            Product p = new Product();
            stored_model.Add(p);
            stored_model.NextId = 10;
            stored_model.Pro = stored_model[0];
            string new_json = JsonConvert.SerializeObject(stored_model);
            Console.WriteLine(new_json);
            Console.ReadLine();
        }
    }

    [JsonObject(MemberSerialization.OptIn)]
    public class ProductListStoredModel : List<Product>
    {
        //public Product[] pro { get; set; }
        [JsonProperty]
        public int NextId { get; set; }

        [JsonProperty]
        public Product Pro { get; set; }

    }

您也可以创建产品的数组属性并可以继续。

public Product[] Pro { get; set; }

关于c# - 使用 JsonConvert.SerializeObject 序列化派生列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718820/

相关文章:

asp.net - 与直接 jquery ajax 调用相比,scriptmanager 有哪些优势?

json - 如何在 Asp.net Core Web Api 中默认使用 Newtonsoft.Json?

java - 在 .readObject() 上找不到符号;

java - 高性能序列化和反序列化以在redis中缓存对象

C# MySQL NotScalarQuery 方法在创建函数或过程时出错

c# - mysql语法错误?

c# - 项目无法编译

java - 将参数从 JavaScript (jQuery) 传送到基于 Java 的 REST 服务的最佳实践?

java - Android PICASSO - 图像未加载到 ImageView + 停止发生以下所有语句

c# - 在ASP.NET MVC 4应用程序中检查SSL协议(protocol),密码和其他属性