2017-07-17 135 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格式。