2013-06-18 4 views
3

Я использую API ASP.NET WEB.Как получить строку JSON?

Я хочу получить и добавить в базу данных jsonstring.

Моя модель:

namespace sms.Models 
{ 
    [JsonObject] 
    public class MySMS 
    { 
     //[JsonProperty("id")] 
     //public int Id { get; set; } 
     [JsonProperty("name")] 
     public string Name { get; set; } 
     [JsonProperty("fromnumber")] 
     public string FromNumber { get; set; } 
     [JsonProperty("tonumber")] 
     public string ToNumber { get; set; } 
     [JsonProperty("text")] 
     public string Text { get; set; } 
    } 
} 

SMSController:

public void Post(JObject singleSMS) 
{ 
    MySMS smska = singleSMS.ToObject<MySMS>(); 

    try 
    { 
     SMS_Repository.Add(smska); 
    } 
    catch (Exception) 
    { 
     throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotImplemented)); 
    } 
} 

и метод из репозитория:

public static void Add(MySMS singleSMS) 
{ 
    DataClasses1DataContext db = new DataClasses1DataContext(); 
    SimpleSMS newSMS = new SimpleSMS(); 
    newSMS.Name = singleSMS.Name; 
    newSMS.Text = singleSMS.Text; 
    newSMS.FromNumber = singleSMS.FromNumber; 
    newSMS.ToNumber = singleSMS.ToNumber; 

    db.SimpleSMS.InsertOnSubmit(newSMS); 
    db.SubmitChanges(); 

} 

Теперь, если я отправить запрос POST от Скрипач, как это:

локальные: 25856/API/SMS

с телом запроса:

{"name":"name", "tonumber":"1", "fromnumber":"2", "text":"text"} 

я иметь нулевое эталонное исключение здесь:

MySMS smska = singleSMS.ToObject<MySMS>(); 

смска является null.

В чем моя ошибка?

+0

Но что я должен делать, если мне нужно получить сборник sms ?? –

ответ

1

Попробуйте установить Content-Type: application/json в запросе Fiddler.

+0

Большое спасибо !!! Это работает! –

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