2017-03-01 54 views
1

我在將某些字符串轉換爲JSON時遇到問題。C#WebAPI反序列化列表返回null

我使用C#的WebAPI反序列化字符串

  1. 第一:List<GetBookInfoModel> list = JsonConvert.DeserializeObject<List<GetBookInfoModel>>(strOutput01);

  2. 二:List <GetBookDetInfoModel> list = JsonConvert.DeserializeObject<List<GetBookDetInfoModel>>(strOutput01);

我的JSON字符串是這樣的:

  1. 第一:[{"allbook ":{ " count01 " :3}, " late ":{ " count02 ":0}}]

  2. 二:[{"num ":1, " bookname ":"AAAAA","FinTime ":"2017"},{"num ":2, " bookname ":"iOS","FinTime ":"2017"},{"num ":3, " bookname ":"Visual","FinTime ":"2017"}]

而且我的模型類是如..

public class GetBookInfoModel 
{ 
    List<GetBookSecondInfoModel> allbook { get; set; } 
    List<GetBookSecondInfoModel> late { get; set; } 
} 
public class GetBookSecondInfoModel 
{ 
    public string count01 { get; set; } 

    public string count02 { get; set; } 
} 


public class GetBookDetInfoModel 
{ 
    public string num { get; set; } 

    public string bookname { get; set; } 

    public string FinTime { get; set; } 
} 

但現在它返回null。

如何解決此問題?謝謝。

+1

在JSON字符串中,屬性名稱中有很多空格。試着先解決這個問題。 –

回答

1

事實證明前者有3個問題。

1)GetBookInfoModel的屬性應爲public

public class GetBookInfoModel 
{ 
    public List<GetBookSecondInfoModel> allbook { get; set; } 
    public List<GetBookSecondInfoModel> late { get; set; } 
} 

2)JSON中配對引號之間不必要的空格應該被刪除。

3)JSON中的allbooklate都應該跟着[]

[{"allbook":[{ "count01" :3}], "late":[{ "count02":0}]}] 

後者的類似。