gpt4 book ai didi

c# - Json.Net PopulateObject 附加列表而不是设置值

转载 作者:IT王子 更新时间:2023-10-29 04:34:12 25 4
gpt4 key购买 nike

我在 .Net 4.5 中使用 Json.Net,当在以下对象上使用填充对象时,它会使用 json 的内容增加列表而不是设置它的值。

Json.Net

JsonConvert.PopulateObject(string, object)

class MySettingSubClass
{
public List<string> MyStringList1 = new List<string>(){"one", "two", "three"}
}

class MySetting
{
public string MyString = "MyString";
public int MyInt = 5;
public MySettingSubClass MyClassObject = new MySettingSubClass();
public List<string> MyStringList2 = new List<string>{"one", "two", "three"};
}

当它们最初加载时,一切都是正确的,但是从 JSON 重新加载时,两个 MyStringLists 都是重复的 "one", "two", "three", "one", "two", "three"

最佳答案

您应该告诉 Json.Net 替换数组,如下所示:

var serializerSettings = new JsonSerializerSettings {ObjectCreationHandling = ObjectCreationHandling.Replace};


JsonConvert.PopulateObject(jasonString, myObject, serializerSettings)

关于c# - Json.Net PopulateObject 附加列表而不是设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20270266/

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