У меня есть API внешнего поставщика, который возвращает JSON в этом формате
{"3":{"id":1,"name":"Scott Foo","age":55},
"59":{"id":2,"name":"Jim Morris","age":62}}
Я пытаюсь десериализовать его, используя следующий код
[DataContract]
public class Name
{
[DataMember]
public int id { get; set; }
[DataMember]
public string name { get; set; }
[DataMember]
public int age{ get; set; }
}
Код для десериализации -
List<Name> nameList = Deserialize<List<Name>>(temp);
, где десериализация определена как
public static T Deserialize<T>(string json)
{
T obj = Activator.CreateInstance<T>();
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json));
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
obj = (T)serializer.ReadObject(ms);
ms.Close();
ms.Dispose();
return obj;
}
Объект, возвращаемый в nameList, имеет нулевое число.Любая идея, как этот JSON может быть десериализован в .Net (т.е. не используя Json.Net или любой другой сторонний dll)?