gpt4 book ai didi

.net - 如何排除某些成员序列化到Json?

转载 作者:行者123 更新时间:2023-12-04 04:48:31 25 4
gpt4 key购买 nike

我有一个要序列化为Json格式的对象
我正在使用:

    public string ToJson()
{
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string sJSON = jsonSerializer.Serialize(this);
return sJSON;
}

如何在“this”中定义一些字段而不进行序列化?

最佳答案

可能的方法是将这些字段声明为privateinternal

替代解决方案是使用DataContractJsonSerializer类。在这种情况下,您可以将DataContract属性添加到您的类中。您可以使用DataMember属性控制要序列化的成员-标记有该成员的所有成员都进行序列化,而其他成员则不进行序列化。

您应该按照以下方式重写ToJson方法:

    public string ToJson()
{
DataContractJsonSerializer jsonSerializer =
new DataContractJsonSerializer(typeof(<your class name>));
MemoryStream ms = new MemoryStream();
jsonSerializer.WriteObject(ms, this);
string json = Encoding.Default.GetString(ms.ToArray());
ms.Dispose();
return json;
}

关于.net - 如何排除某些成员序列化到Json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422794/

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