Я следующий JSon stirngПреобразование JSON строка в CLR Типы
{
"api_version" : 2 ,
"lang" : "en_US",
"hotels" :
[
{
"hotel_id" : 258705 ,
"desc" : "The Hotel Commonwealth stands above the Kenmore Square \"T\" subway station in Boston, Mass. Fenway Park is located two blocks away, while the shops along Newbury Street are three blocks from the hotel.",
"amenities" : ["RESTAURANT","NON_SMOKING"],
"room_types" :
{
"Fenway Room" :
{
"url" : "http://www.partnersite.com/hotel_commonwealth/fenway_room",
"desc" : "One king bed with pillowtop mattress, Frette Italian linens, down bedding, multiple pillows. View of Fenway Park."
},
"Commonwealth Room" :
{
"url" : "http://www.partnersite.com/hotel_commonwealth/commonwealth_room",
"desc" : "One king bed with pillowtop mattress, Frette Italian linens, down bedding, multiple pillows. View of Commonwealth Avenue."
}
}
}
]
}
и я создал следующий POCO classes.I может десериализацию выше строки, используя NewtonSoft.
internal class FenwayRoom
{
}
internal class CommonwealthRoom
{
}
internal class RoomTypes
{
[JsonProperty("Fenway Room")]
public FenwayRoom FenwayRoom { get; set; }
[JsonProperty("Commonwealth Room")]
public CommonwealthRoom CommonwealthRoom { get; set; }
}
internal class Hotel
{
}
}
Теперь проблема заключается в том, что для каждого roomtype я должен создать перегородки class.Is там какой-нибудь лучший подход для этого?
я описываю, как сделать это в этом ответе: http://stackoverflow.com/a/14673555/14357 – spender
Вы не должны Pocos для каждого экземпляра типа ... но это JSON формат, который вы выше, не дает особого преимущества для непосредственного отображения в POCOs. Кроме того, рассмотрите использование JSON-анализатора, например 'ServiceStack.Text', а затем вам не нужно украшать свойства и т. Д. Атрибутами. Можете ли вы изменить формат JSON? –
@ Moo-Juice: Мы не можем изменить формат json. –