2011-05-09 78 views
0

是否有可能在使用JsonConvert.DeserializeObject列表来deserialise列表以及?的Json反序列化与一个列表,列表

Object: 
public class BusinessList 
{ 
    public long Number{ get; set; } 
    public string BusinessUnitCode { get; set; } 
    public List<string> Codes { get; set; } 
} 

Json: 

{"Number":111121,"BusinessUnitCode":"ABC","Codes":["11111-2","14333-8"]} 

Deserialization: 

var dataList = (List<BusinessList>)JsonConvert.DeserializeObject(reciveObject, typeof(List<BusinessList>), jsonSerializerSettings); 

错误:

"Expected a JsonObjectContract or JsonDictionaryContract for 
type 'System.Collections.Generic.List`1 
[PathResultsPortal.UI.Controllers.AnalyteDetails]', 
got 'Newtonsoft.Json.Serialization.JsonArrayContract'." 

如果您从该的businessList的代码列表对象,它工作正常它似乎不能在列表与处理清单,是它甚至可能吗?

+0

是否有一个原因代码不能是一个字符串[] – RedDeckWins 2011-05-09 07:28:29

+0

忽略我是个白痴。我只是发送一个BusinessList对象,但试图反序列化为一个List。如果您尝试将其作为发送的相同对象放在一起,则可以正常工作。 *拍击 – Neurath 2011-05-09 07:50:05

回答

0
public class BusinessList 
{ 
    [JsonProperty(PropertyName = "Number")] 
    public long Number{ get; set; } 

    [JsonProperty(PropertyName = "BusinessUnitCode ")] 
    public string BusinessUnitCode { get; set; } 

    [JsonProperty(PropertyName = "Codes ")] 
    public List<Codes> Codes { get; set; } 
} 

public class Codes 
{ 
    public string Code { get; set; } 
} 

试试这个