C# 将对象序列化为JSON-从序列化类的字段中获取属性名

C# 将对象序列化为JSON-从序列化类的字段中获取属性名,c#,json,serialization,json.net,C#,Json,Serialization,Json.net,我有一个ParameterInfo类 [JsonObject(MemberSerialization.OptIn)] public class ParameterInfo { public Parameter Param { get; protected set; } [JsonProperty(Order = 0)] public string Name { get => GetCultureName(); } [Json

我有一个ParameterInfo类

[JsonObject(MemberSerialization.OptIn)]
public class ParameterInfo
{
        public Parameter Param { get; protected set; }

        [JsonProperty(Order = 0)]
        public string Name { get => GetCultureName(); }
        [JsonProperty(Order = 1)]
        public string Value { get => Param.AsString(); }
}
我需要以以下方式将我的类序列化为json:

{"PHY_MATERIAL_PARAM_EXP_COEFF2": 0.0}
我只能得到这个

  {
    "Name": "PHY_MATERIAL_PARAM_EXP_COEFF2",
    "Value": 0.0
  }

我如何使用Newton Json和?我正在寻找一种性能最高的方法。

您可以尝试编写自定义:

并使用
[JsonConverter(typeof(parameterInfo JsonConverter))]
属性标记类,或将其传递给
JsonConvert

JsonConvert.SerializeObject(new ParameterInfo(), new ParameterInfoJsonConverter())

您可以尝试编写自定义:

并使用
[JsonConverter(typeof(parameterInfo JsonConverter))]
属性标记类,或将其传递给
JsonConvert

JsonConvert.SerializeObject(new ParameterInfo(), new ParameterInfoJsonConverter())

看起来不错,只是缺少大括号,因此无法生成有效的Json-您需要添加
writer.WriteStartObject()
writer.WriteEndObject()
-see看起来不错,只是缺少大括号,因此无法生成有效的Json-您需要添加
writer.WriteStartObject()
writer.WriteEndObject()-请参阅