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中的字符串?你在哪裏存儲他們的價值? –
是的馬丁你是對的。 –