我正在尝试将属性名称中带有点的 JSON 反序列化为键值格式。我正在使用内置的 ASP.NET MVC 模型绑定。它似乎将点解释为对象表示法,而不仅仅是键值对象。有没有办法让它正确反序列化为忽略点的键值?这很重要,因为数据需要以这种格式再次输出。
控制器动作
[HttpPost]
public ActionResult SaveProgress(int id, ProgressVM data)
{
// ProgressVM Data property has an item with key "prop" and a null value, nothing else
}
查看型号
public class ProgressVM
{
public int ID { get; set; }
public Dictionary<string, string> Data { get; set; }
}
JSON 示例
{
"ID": 123,
"Data": {
"prop.0.name": "value",
"prop.0.id": "value",
"prop.1.name": "value",
"prop.2.name": "value",
"prop.3.name": "value"
}
}
我来这里寻找一种将 json 字符串反序列化为模型的方法,虽然这里的问题是通过 MVC 框架解决的,但它并没有解决我的问题。
给定一个 json 字符串
{
"Property.Something": "The value"
}
我发现使用 [JsonProperty] 属性我可以将字符串反序列化到我的模型中,如下所示:
public class JsonModel
{
[JsonProperty(PropertyName = "Property.Something")]
public string PropertySomething {get; set;}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)