- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在 .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/
我正在尝试填充自定义枚举的现有实例,该实例包含包含 enum 属性的对象。当我这样做时,我从 JsonConvert.PopulateObject() 收到错误 System.ArgumentNull
我在 .Net 4.5 中使用 Json.Net,当在以下对象上使用填充对象时,它会使用 json 的内容增加列表而不是设置它的值。 Json.Net JsonConvert.PopulateObje
我有一个通过 toJSON 来自 javascript 的日期,所以它存储为 UTC 时间,但我想将它作为本地时间存储在数据库中(我们过去从未存储过 UTC 时间,所以我需要继续这里的趋势)。 但是,
尝试使用 JsonConvert.PopulateObject 更新类属性时,未调用 JsonPathConverter,因此未完成填充。 示例类: [JsonConverter(typeof(Jso
我想加载 JSON 格式的稀疏数据以获得用默认值填充缺失数据的结果,但我的默认值包括可扩展集的预定义实例,而不仅仅是固定字段。 对于(任意)例子, 类型 class Link { public
是否可以定义用于 JsonConvert.PopulateObject 方法的自定义“列表合并”策略? 示例: 我有两个模型: class Parent { public Guid Uuid
我是一名优秀的程序员,十分优秀!