我无法反序列化json字符串,因为根元素没有键名。只是一个数值。我使用Json.Net
{"41":{"entity_id":"41","status":"pending"},"42":{"entity_id":"42","status":"canceled"}}
这是来自Magento REST Api的回复。 我可以在xml中获得响应,但我也不能使用xml响应反序列化。两个不同的子元素中有两个date_item节点。
答案 0 :(得分:-1)
您可以使用某些属性来帮助进行反序列化。例如:
[DataContract]
public class YourClass
{
[DataMember(Name = "41")]
public YourEntity Property41
{
get;
set;
}
}
[DataContract]
public class Entity
{
[DataMember(Name = "entity_id")]
public int EntityID { get; set; }
}
这些属性适用于默认的序列化程序:
public static T DeserializeJson<T>(string objectInJson)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
return (T)serializer.ReadObject(JsonSerializer.StringToStream(objectInJson));
}
您可以使用DeserializeJson(jsonString)
调用它