C# 来自wcf服务的自定义输出
我想从我的WCF服务中获取输出,如下所示 {任务列表:[{oid:30774,Id:4122}]} 当我得到输出作为 [{Key:taskList,值:[{oid:30774,Id:4122}]] 我的代码是 公共字典getListJob作业列表 { 字典数据字典=新字典; dataDict.AddtaskList,作业列表; string str=JsonConvert.SerializeObjectdataDict.Values; 返回数据dict;C# 来自wcf服务的自定义输出,c#,wcf,C#,Wcf,我想从我的WCF服务中获取输出,如下所示 {任务列表:[{oid:30774,Id:4122}]} 当我得到输出作为 [{Key:taskList,值:[{oid:30774,Id:4122}]] 我的代码是 公共字典getListJob作业列表 { 字典数据字典=新字典; dataDict.AddtaskList,作业列表; string str=JsonConvert.SerializeObjectdataDict.Values; 返回数据dict; } 您不需要创建字典,只需将jobLi
} 您不需要创建字典,只需将jobList添加到一个新的匿名对象,该对象的根元素是一个名为taskList的属性,假设jobList实际上是一个列表: 它将输出{taskList:[{oid:30774,Id:4122}]}
显然,您还希望WCF服务返回此字符串值,而不是字典本身。使用oid和Id属性或任何您需要的属性创建taskList对象。实例化并填充它,然后将其序列化为JSON。非常感谢您的回复。我得到了额外的反斜杠和双引号的回应。请引导我。{\taskList\:[{\oid\:\30774\,\Id\:\4122\}您在调试器中看到了吗?这很正常。``是转义字符。尝试将其打印到控制台。它不在调试器中。我在chrome浏览器中调用了该服务,并在那里得到了输出。@MusaabZeeshan可能是该服务试图重新序列化字符串,因此添加了反斜杠。尝试将返回类型更改为ExpandObject,而不是返回字符串,只返回新的{taskList=jobList};,看看这是否改变了什么。嗨,亲爱的PoweredByOrange,非常感谢您抽出时间。我已经按照你的指示做了,但不幸的是我犯了以下错误。无法将匿名类型1隐式转换为system.dynamic.ExpandooObject。我已经在网上查过了,但是找不到关于这个错误的任何帮助。
string str = JsonConvert.SerializeObject(new { taskList = jobList });