序例化问题 实体有 josn字段 这字段在modol中如何转换为实体

肥胖的柠檬 2020-01-02 01:27:10
数据库中是
ID,areas(数据库保存的为json)
1,[{"A Area"},{"B Area"}]
2,[{"A Area"},{"C Area"}]

实体中:
public class EquipmentInfo
{
public string ID { get; set; }
public string areas { get; set; }
}

public class area
{
public string name{ get; set; }
}

我想得到这样一个结果实体
public class EquipmentInfoX
{
public string ID { get; set; }
public List<area> area { get; set; }
}

除了使用得到EquipmentInfo结果后 再使用foreach转换或select<>转换,还有其它方法嘛??
...全文
125 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
肥胖的柠檬 2020-01-04
  • 打赏
  • 举报
回复
或是使用 AutoMapper 代码就不粘了
肥胖的柠檬 2020-01-02
  • 打赏
  • 举报
回复
好完工....自己搞定... 增加只读属性搞定.自己回个方便后人吧.. public class EquipmentInfo { string _areas; public string ID { get; set; } public string areas { get => _areas; set => _areas = value; } public List<area> area => string.IsNullOrEmpty(_areas) ? null:JsonConvert.DeserializeObject<List<area>>(_areas); } List<EquipmentInfo> infos = new List<EquipmentInfo>{ new EquipmentInfo{ ID="1", areas=@"[{""name"":""A Area""},{""name"":""B Area""}]" }, new EquipmentInfo{ ID="1", areas=@"[{""name"":""A Area""},{""name"":""V Area""}]" } }; Console.WriteLine(JsonConvert.SerializeObject(infos));
enaking 2020-01-02
  • 打赏
  • 举报
回复
js.Deserialize<area>(areas) 网上一大把
kofboy520 2020-01-02
  • 打赏
  • 举报
回复
应该没别的办法了把,毕竟要对查询的结果再处理,用
js.Deserialize<area>(areas);
解析吧
正怒月神 2020-01-02
  • 打赏
  • 举报
回复
json.net 直接转换EquipmentInfoX对象

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧