2017-07-17 74 views
0

我需要生成如下所示的Json,每個節點的數據類名稱爲「Resposta」,因此我使用的是JavaScriptSerializer。更改JSON中的數據類名稱

{"Status":"1", 
"Descricao":"OK", 
"Respostas":[ 
    {"Resposta": 
     { 
      "Campanha":"353896", 
      "Telefone":"71987588216", 
      "Data":"20/06/2017 23:40:00", 
      "mensagem":"Nao posso falar agora. Envie um SMS." 
     } 
    }, 
    {"Resposta": 
     { 
      "Campanha":"355117", 
      "Telefone":"14998538703", 
      "Data":"20/06/2017 23:39:00", 
      " mensagem ":"Estou dirigindo" 
     } 
    } 
]} 

我的C#類:

public class retornoRespostas 
{ 
    public string Status { get; set; } 
    public string Descricao { get; set; } 
    public List<Resposta> Respostas { get; set; } 
} 

public class Resposta 
{ 
    public string Campanha { get; set; } 
    public string Telefone { get; set; } 
    public string Data { get; set; } 
    public string mensagem { get; set; } 
} 

使用我的代碼,結果是:

{"Status":"1", 
"Descricao":"OK", 
"Resposta":[ 
    { 
     "Campanha":"333967", 
     "Data":"14/07/2017 11:58:00", 
     "Telefone":"21999214958", 
     "mensagem":"Nao posso falar agora. Manda um SMS, por favor?" 
    }, 
    { 
     "Campanha":"333967", 
     "Telefone":"21999214958", 
     "Data":"14/07/2017 11:59:00", 
     "mensagem":"Nao posso falar agora. Manda um SMS, por favor?" 
    } 
]} 

有另一種方式來把這個名字 「Resposta」 到每一個數據類?

謝謝!

+0

你還在尋找什麼其他方式? – Amy

+0

你可能想看看[DataContractJsonSerializer](https://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx) – Jimbot

+0

不要使用'JavaScriptSerializer'它是舊的和慢。即使微軟說應該使用Json.NET:https://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer(v=vs.110).aspx – Mafii

回答

0

類似下面應該工作:

public class retornoRespostas 
{ 
    public string Status { get; set; } 
    public string Descricao { get; set; } 
    public List<RespostaWrapper> Respostas { get; set; } 
} 

public class RespostaWrapper 
{ 
    public Resposta Resposta { get; set; } 
} 

public class Resposta 
{ 
    public string Campanha { get; set; } 
    public string Telefone { get; set; } 
    public string Data { get; set; } 
    public string mensagem { get; set; } 
} 

我不會建議這種做法(我喜歡你原來的JSON結構),但它會導致你想要的JSON格式。