Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改JSON.NET序列化属性名称的方式_Json_Serialization_Properties_Json.net - Fatal编程技术网

更改JSON.NET序列化属性名称的方式

更改JSON.NET序列化属性名称的方式,json,serialization,properties,json.net,Json,Serialization,Properties,Json.net,如何更改Newtonsoft JSON.NET序列化对象属性名称的方式?有几种方法: 您可以使用JsonTextWriter类手动控制其序列化方式: 您可以实现一个定制的JsonConverter,它可以满足您的需要: 例如: 可以使用特性名称创建模型。并通过创建一些私有变量来更改它们,这些私有变量将用作属性的返回值。这将指示反序列化程序重置属性的名称 private int _privateId; public int NameThatExistAlreadyIn

如何更改Newtonsoft JSON.NET序列化对象属性名称的方式?

有几种方法:

  • 您可以使用
    JsonTextWriter
    类手动控制其序列化方式:
  • 您可以实现一个定制的
    JsonConverter
    ,它可以满足您的需要:
    • 例如:

  • 可以使用特性名称创建模型。并通过创建一些私有变量来更改它们,这些私有变量将用作属性的返回值。这将指示反序列化程序重置属性的名称

        private int _privateId;
    
        public int NameThatExistAlreadyInTheJson 
        {
    
            set { _privateId = value; }
    
        }
        public int NameYouWantItToBeDisplayInstead 
        {
            get { return _privateId; }
        }
    

    好的,虽然不是我需要的。我可以在将JSON迁移到新的“模式”时使用它。谢谢