2014-01-14 2 views
0

Мне нужно создать динамический запрос с дочерними атрибутами, и я не совсем уверен, как это сделать. У меня установлен newtonsoft.json, поэтому я подумал о том, чтобы сделать серию классов, а затем сериализовать их, но мне также нужно передать ключи/служебные ключи Oauth.создание динамического запроса с дочерними атрибутами

{ 
    "type": "email", 
    "subject": "Creating a case via the API", 
    "priority": 4, 
    "status": "open", 
    "labels": [ 
    "Spam", 
    "Ignore" 
    ], 
"message": { 
    "direction": "in", 
    "status": "received", 
    "to": "[email protected]", 
    "from": "[email protected]", 
    } 

Так, чтобы иметь эту просьбу выше, я бы создать главный класс, который будет иметь свойство, такие как тип/предмет/статус, а затем она будет иметь мое другое сообщение класса в нем, как хорошо. Я просто пытаюсь понять, как сериализация преобразует классы

+0

какой части вы не можете сделать, «сделать ряд классов, может быть, и затем сериализовать их»? –

+0

ну, мне было просто интересно, если это лучшая идея. Я обновлю свой вопрос – user3192012

+0

Вам нужно определить, что вы подразумеваете под * dynamic *. – James

ответ

0

может это поможет вам

public class dataObj 
{ 
    public string type { get; set; } 
    public string subject { get; set; } 
    public int priority { get; set; } 
    public string status { get; set; } 
    public IList<string> labels { get; set; } 
    public IDictionary<string, string> message { get; set; } 
} 



private void testbutton_Click(object sender, EventArgs e) 
    { 
     try { 
      string json = @"{ 
       ""type"": ""email"", 
       ""subject"": ""Creating a case via the API"", 
       ""priority"": 4, 
       ""status"": ""open"", 
       ""labels"": [ 
       ""Spam"", 
       ""Ignore"" 
       ], 
      ""message"": { 
      ""direction"": ""in"", 
      ""status"": ""received"", 
      ""to"": ""[email protected]"", 
      ""from"": ""[email protected]"" 
      } 
      }"; 
      dataObj data = Newtonsoft.Json.JsonConvert.DeserializeObject<dataObj>(json); 

     } 
     catch { 

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