2014-02-03 2 views
1

I'am строит сервис, который должен возвращать ответ JSon:Как отформатировать ответ JSON в службе WCF отдыха

{ "Содержимое": { "API": "Некоторые API", "DisplayVersion" : «1.0», «Версия»: 1}, «Состояние»: «ОК»}

Мне сложно отформатировать его так, как я хочу. I'am получить ответ в этой моде:

{ "API": "Некоторые API", "DisplayVersion": "1,0", "Версия": "1"}

Вот мой код для того же:

[WebInvoke(Method = "GET", BodyStyle = 
WebMessageBodyStyle.WrappedRequest, RequestFormat = 
WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, 
UriTemplate = "")] 

     public Info GetSystemInfo() 
     { 
       return new Info() 
       { 
        API = "Some API", 
        DisplayVersion = "1.0", 
        Version = "1" 
       }; 

     } 

[DataContract] 
    public class Info 
    { 
     [DataMember] 
     public string API { get; set; } 
      [DataMember] 
     public string DisplayVersion { get; set; } 
      [DataMember] 
      public string Version { get; set; } 
    } 

Я попытался структурировать свой класс, как это:

[DataContract] 
    public class Info 
    { 
     [DataMember] 
     public class Content 
     { 
      [DataMember] 
      public string API { get; set; } 
      [DataMember] 
      public string DisplayVersion { get; set; } 
      [DataMember] 
      public string Version { get; set; } 
     } 

     [DataMember] 
     public string Status { get; set; } 
    } 

Как я должен идти о нем?

+0

Я думаю, что вам нужно атрибут 'Order' просто [проверить это] (HTTP://stackoverflow.com/questions/3816478/wcf-datacontract-datamember-order) – V4Vendetta

ответ

2

Try структурировать классы, как это:

[DataContract] 
public class Info 
{ 
    [DataMember] 
    public Content Content { get; set; } 
    [DataMember] 
    public string Status { get; set; } 
} 

public class Content 
{ 
    [DataMember] 
    public string API { get; set; } 
    [DataMember] 
    public string DisplayVersion { get; set; } 
    [DataMember] 
    public int Version { get; set; } 
} 

EDIT: Использование информации:

Info info = new Info() 
    { 
     Status = "OK", 
     Content = new Content() { API = "Some Api", DisplayVersion = "1.0", Version = 1 } 
    }; 
+0

И как мне передать данные? – Arti

+0

ОК, я отредактирую свой ответ, чтобы показать вам, как :) –

+0

Это образец для использования 'Info', вы можете использовать его в' GetSystemInfo() ' –

Смежные вопросы