我知道我可以定义一个自定义转换器,但在这种情况下,我必须装饰我想使用我的转换器序列化的类,我想定义默认序列化方法的重载以个性化序列化,但保持它是通用的(我的意思是它应该适用于每种类型的对象)
目标是生成一个没有主括号的"json"。
提前感谢,
文森佐。
这不行吗?
string json = "{"Name":"Max"}";
string withoutBrackets = json.Substring(1, json.Length - 2);
使用正则表达式的替代方法:
string withoutBrackets = Regex.Replace(json, @"(?:^{)|(?:}$)",string.Empty);
您不必使用转换器装饰类,当您序列化对象时,您可以将转换器提供给序列化程序,转换器将知道它可以序列化哪些类型。(在方法上可以转换)
下面是一小段代码,我们使用自定义转换器 DataRowCollectionConverter 以特定方式转换我们的数据行类型对象集合。DataRowCollectionConverter 是一个 JsonConverter
this.Result = JsonConvert.SerializeObject(result, DataRowCollectionConverter());;