2017-07-17 7 views
0

JavaScriptSerializerを使用しているので、各ノードのデータクラス名 "Resposta"を使用して、以下のようなJsonを生成する必要があります。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形式になります。

関連する問題