Json.NET (Newtonsoft.Json) - Duas 'propriedades' com o mesmo nome?
Estou codificando em c # para o .NET Framework 3.5.
Estou tentando analisar alguns Json para um JObject.
O Json é o seguinte:
{
"TBox": {
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 },
"TBox": {
"Name": "MedBox",
"Length": 5,
"Width": 10,
"Height": 10 },
"TBox": {
"Name": "LargeBox",
"Length": 20,
"Width": 20,
"Height": 10 }
}
Quando tento analisar esse Json em um JObject, o JObject conhece apenas o LargeBox. As informações para SmallBox e MedBox são perdidas. Obviamente, isso ocorre porque ele está interpretando "TBox" como uma propriedade e essa propriedade está sendo substituída.
Estou recebendo esse Json de um serviço codificado em Delphi. Estou tentando criar um proxy c # para esse serviço. No lado Delphi, o "TBox" é entendido como otipo do objeto que está sendo retornado. As propriedades internas ("Nome", "Comprimento", "Largura", "Altura") são entendidas como propriedades regulares.
Posso serializar e desserializar um objeto 'TBox' personalizado que possui as propriedades Nome, Comprimento, Largura e Altura. Isso é bom.
O que eu quero fazer é percorrer todas as seções do TBox de forma a extrair as três seqüências Json a seguir.
Primeiro:
{
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 }
Segundo:
{
"Name": "MedBox"
"Length": 5,
"Width": 10,
"Height": 10 }
Terceiro:
{
"Name": "LargeBox"
"Length": 20,
"Width": 20,
"Height": 10 }
Depois de ter essas seqüências, posso serializar e desserializar para o conteúdo do meu coração.
Estou achando o Newtonsoft.Json muito bom. Eu realmente não quero mexer com outras estruturas se puder evitá-la.
Qualquer ajuda seria muito apreciada.
Eu tenho uma entrada muito limitada quanto às alterações que podem ser feitas no servidor.