2014-01-15 2 views
-2

У меня есть строка JSON следующим образом:Синтаксический JSON с помощью Newtonsoft.JSON

[{ 
    "ID":"1", 
    "title":"New Product Launch", 
    "fro":"Vitamin D", 
    "summary":"New Vitamin D prodcut", 
    "type":"image", 
    "link":"http:\/\/www.foo.in\/upload\/image\/1.png", 
    "detail":"13-11-2013", 
    "fileSize":23763 
}, 
{ 
    "ID":"2", 
    "title":"New Product Launch", 
    "fro":"Vitamin D", 
    "summary":"New Vitamin D prodcut", 
    "type":"image", 
    "link":"http:\/\/www.foo.in\/upload\/image\/1.png", 
    "detail":"13-11-2013", 
    "fileSize":23763 
}] 

Мой код для синтаксического анализа выглядит следующим образом:

AnnouncementListObject resultsJSON = JsonConvert.DeserializeObject<AnnouncementListObject>(json); //line1 

using (AnnouncementDataContext context = new AnnouncementDataContext(Con_String)) 
{ 
    AnnouncementData alData = new AnnouncementData(); 
    alData.announcementID = int.Parse(resultsJSON.ID); 
      . 
      . 
      . 
      . 
     context.AnnouncementData.InsertOnSubmit(alData); 
     context.SubmitChanges(); 
} 

EDIT:

public class AnnouncementListObject 
{ 
    public string ID { get; set; } 
    public string title { get; set; } 
    public string fro { get; set; } 
    public string summary { get; set; } 
    public string type { get; set; } 
    public string link { get; set; } 
    public string detail { get; set; } 
    public object fileSize { get; set; } 
} 

Но он выдает ошибку в строке 1, где я десериализую данные JSON. Я хочу сохранить эти несколько строк данных в базе данных. Я не могу использовать foreach loop здесь, поскольку данные JSON не заключены под корневым узлом. Любая помощь в том, как я должен идти?

+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

Будут ухаживать в будущем @JohnSaunders. Спасибо за указание. –

ответ

3

Try десериализации в список как так

var resultsJSON = JsonConvert.DeserializeObject<List<AnnouncementListObject>>(json); //line1 

Вы имеете дело с массивом объектов JSON, но вы пытаетесь бросить его как единый объект.

+0

Ошибка: 'Невозможно неявно преобразовать тип 'System.Collections.Generic.List ' в 'App.AnnouncementListObject'' –

+2

@rishiJasapara, изучите основы C#, пожалуйста. Тип вашей переменной должен соответствовать возвращаемому типу данных ... – elgonzo

+1

@elgonzo: Я новичок в C#. Изучая новые вещи каждый день. Я не родилась с золотой ложкой. –

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