C# Json使用;加上「;

C# Json使用;加上「;,c#,json.net,C#,Json.net,对不起,我的英语不好 当对象具有某些“副作用”来更改属性时, 结果与反序列化之前不同 我知道不应该序列化对象有“副作用”, 但此刻我需要四处走动 Json: { “序列化条”:“bar1,bar2”, “酒吧”:[ “bar1”, “bar2”控制台写入线(x); //bar1 //bar2 //bar1您必须设置JsonSerializerSettings JsonConvert.DeserializeObject<Model>(json, new JsonSerializerSe

对不起,我的英语不好

当对象具有某些“副作用”来更改属性时, 结果与反序列化之前不同

我知道不应该序列化对象有“副作用”, 但此刻我需要四处走动

Json:

{
“序列化条”:“bar1,bar2”,
“酒吧”:[
“bar1”,
“bar2”控制台写入线(x);
//bar1
//bar2

//bar1您必须设置
JsonSerializerSettings

JsonConvert.DeserializeObject<Model>(json, new JsonSerializerSettings()
{
    ObjectCreationHandling = ObjectCreationHandling.Replace
});
JsonConvert.DeserializeObject(json,新的JsonSerializerSettings()
{
ObjectCreationHandling=ObjectCreationHandling.Replace
});
var deserialzedObject = JsonConvert.DeserializeObject<Model>(json);

deserialzedObject.Bar.ForEach(x => Console.WriteLine(x));
//bar1
//bar2
//bar1 <-- why JsonConvert using "Add", not replace WHOLE List
//bar2

Console.WriteLine(deserialzedObject.SerializeBar);
//bar1,bar2,bar1,bar2
class Model
{
    public string SerializeBar
    {
        get { return string.Join(",", Bar); }
        set { Bar = value.Split(',').ToList(); }
    }
    public List<string> Bar { get; set; }
}
JsonConvert.DeserializeObject<Model>(json, new JsonSerializerSettings()
{
    ObjectCreationHandling = ObjectCreationHandling.Replace
});