我已经翻阅了文档并阅读了相关文章,但是我仍然无法成功为包含多个元素的Action数组构造Json。
第一个元素是一个“记住”动作,其中包含自己的几个元素。第二个Action元素是一个“ Collect”操作。
我能够添加第一个元素,但是第二个元素使我难以理解。我发布的代码包含错误。我无法添加第二个“收集”元素。我要关闭还是要离开?任何指导都将不胜感激。
[HttpPost]
[Route("AcceptTask")]
internal string BuildAcceptCall(UserData ud)
{
log.Debug("Entering BuildAcceptCall");
var j = new
{
actions = new[]
{
new
{
remember = new
{
ud.AccountId,
EngineId = ud.EngineId,
ResidentTelephone = ud.ResidentTelephone,
OutboundCallerId = ud.OutboundCallerId,
UnitNumber = ud.UnitNumber,
BuildingNumber = ud.BuildingNumber,
Pets = ud.Pets,
Alarm = ud.Alarm,
EmergencyId = ud.EmergencyId,
CallDate = ud.CallDate,
WorkOrder = ud.WorkOrder,
CurrentLocation = ud.CurrentLocation
}, //close remember element
collect = new
{
name = "DidTechAcceptCall",
questions = new[]
{
new
{
question = "This is a maintenance call from Spring Meadows. will you accept the call?",
name = "OffferCallToTech",
type="Twilio.YES_NO"
}
},
on_complete = new
{
redirect = new
{
uri = @"https://8.40.212.131/MedsDispatch/api/Dispatch/EntryPoint_AutoPilot",
method = "post"
}
}
}//close the collect element
} //close the new
}; //close the array
string theObject = Newtonsoft.Json.JsonConvert.SerializeObject(j); ;
return Newtonsoft.Json.JsonConvert.SerializeObject(j);
}
答案 0 :(得分:0)
我强烈建议您执行以下一项或全部操作
Task
。无论如何,这是代码
var j = new { actions = new object[]{
new{
remember = new{
data = "data"
}
},
new{
collect = new{
name = "DidTechAcceptCall",
questions = new[]
{
new
{
question = "This is a maintenance call from Spring Meadows. will you accept the call?",
name = "OffferCallToTech",
type="Twilio.YES_NO"
}
},
on_complete = new
{
redirect = new
{
uri = @"https://8.40.212.131/MedsDispatch/api/Dispatch/EntryPoint_AutoPilot",
method = "post"
}
}
}
}
}
};
string theObject = Newtonsoft.Json.JsonConvert.SerializeObject(j);
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(j));
产生
{
"actions": [
{
"remember": {
"data": "data"
}
},
{
"collect": {
"name": "DidTechAcceptCall",
"questions": [
{
"question": "This is a maintenance call from Spring Meadows. will you accept the call?",
"name": "OffferCallToTech",
"type": "Twilio.YES_NO"
}
],
"on_complete": {
"redirect": {
"uri": "https://8.40.212.131/MedsDispatch/api/Dispatch/EntryPoint_AutoPilot",
"method": "post"
}
}
}
}
]
}