0
我开发了一个REST WCF并测试了post方法,我做了简单的调用并希望以json格式返回输出。以下是我的SVC和代码背后来自REST的预期Json格式WCF
Iservice:
[OperationContract ]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Xml,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "heroku/resources")]
User PostData(User objUser);
Service.cs:
public User PostData(User objUser)
{
User usr = new User();
usr.id = 100;
List<string> lst = new List<string>();
lst.Add("MY_URL");
lst.Add("MY");
usr.config = lst;
usr.message = "msg";
return usr;
}
用户等级:
[DataContract(Namespace = "http://localhost/RestWCFDemo/UserData")]
public class User
{
[DataMember]
[JsonProperty]
public int id
{
get;
set;
}
[DataMember]
[JsonProperty]
public List<string> config
{
get;
set;
}
[DataMember]
[JsonProperty]
public string message
{
get;
set;
}
}
现在从后面ASPX文件的代码,我叫这个服务,并指定该服务对文本框的响应和我得到的结果是:{“config”:[“MY_URL”,“我”],“id”:100 ,“message”:“msg”}但是我期望以这种格式{“config”:{...},“id”:100,“message”:“msg”}输出,主要问题是[]而不是{ }。
的{}在JSON是与性能申报对象。 []用于值的集合(数组)。在C#中,List是一组值。 什么是“MY_URL”和“我的”?他们是属性吗?如果是这样,你为什么将它们创建为List中的字符串?你在哪里存储他们的价值? –
是的马丁你是对的。 –