C# 将对象添加到Umbraco控制器中的列表
我对强类型语言相当陌生,我在一个Umbraco控制器上工作,该控制器输出一些带有日期列表的JSONC# 将对象添加到Umbraco控制器中的列表,c#,json,list,umbraco,strong-typing,C#,Json,List,Umbraco,Strong Typing,我对强类型语言相当陌生,我在一个Umbraco控制器上工作,该控制器输出一些带有日期列表的JSON "meetingTimes": [10:30, 11:30] 这很有效。现在我想输出一个包含唯一键的时间的extry字段 所以应该是这样 meetingTimes: [{ time: "10:30", key: "abcd-1234-efgh-5678" }, { time: "11:30", key: "
"meetingTimes": [10:30, 11:30]
这很有效。现在我想输出一个包含唯一键的时间的extry字段
所以应该是这样
meetingTimes: [{ time: "10:30", key: "abcd-1234-efgh-5678" }, { time: "11:30", key: "defg-1234-sktg-5678" }]
但我不知道怎么做
我当前代码中处理此问题的部分是:
try {
IPublishedContent content = Umbraco.Content(Guid.Parse("ff3e93f6-b34f-4664-a08b-d2eae2a0adbd"));
var meetingDatesAvailabled = content.Value<IEnumerable<IPublishedElement>>("meetingDatesAvailable");
var items = new List<object>();
foreach(var meetingDate in meetingDatesAvailabled)
{
if (meetingDate.Value("meetingItemDay").ToString().Substring(0, 8) == theDate) {
var times = meetingDate.Value<IEnumerable<IPublishedElement>>("meetingItemDayTimes");
foreach (var time in times)
{
items.Add(time.Value("meetingdateTimeItem").ToString());
}
}
}
return new { dateChosen = theDate, meetingTimes = items };
}
试试{
IPPublishedContent content=Umbraco.content(Guid.Parse(“ff3e93f6-b34f-4664-a08b-d2eae2a0adbd”);
var meetingDatesAvailable=content.Value(“meetingDatesAvailable”);
var items=新列表();
foreach(var meetingDate中的var meetingDate可用)
{
if(meetingDate.Value(“meetingItemDay”).ToString()子字符串(0,8)=日期){
var时间=meetingDate.Value(“meetingItemDayTimes”);
foreach(以时间为单位的var时间)
{
items.Add(time.Value(“meetingdateTimeItem”).ToString();
}
}
}
返回新的{dateselected=theDate,meetingTimes=items};
}
首先,我们必须创建一个抽象会议时间的类:
public class MeetingTime
{
public string Time { get; }
public Guid Key { get; }
public MeetingTime(string time, Guid key)
{
Time = time;
Key = key;
}
}
然后,我们将创建一个MeetingItem
的空列表,而不是创建一个object
的空列表,var items=newlist()代码>
注意:我不知道您序列化对象的方式(例如),但很可能您必须使用一个属性来修饰Time
和Key
,以便在序列化过程中使用正确的名称。如果您不这样做,那么它将使用默认名称,Time
和Key
。我这么说是因为我在你分享的json中注意到你想成为time
和key
真棒!这正是我要找的!谢谢@莫滕哈格,非常欢迎你!
var items = new List<MeetingItem>();
foreach (var time in times)
{
items.Add(new MeetingTime(time.Value("meetingdateTimeItem").ToString(),
Guid.NewGuid())
);
}