2017-05-25 59 views
1

我有一串JSON,我試圖將其轉換爲列表。有一個空的數組值是打破反序列化(試圖手動刪除它或更改爲一個數字,它的工作原理)。以爲我可以嘗試替換字符串中的[],但有沒有更好的方法來解決這個問題?空串數組中的空數組

public class Tax 
{ 
    public string Id; 
    public string Name; 
    public string PathOfTerm; 
    public string Children; 
    public string Level; 
    public string RawTerm; 
} 

var exString = "[{\"Id\":\"12345\",\"Name\":\"aName\",\"PathOfTerm\":\"aTerm\",\"Children\":[],\"Level\":0,\"RawTerm\":null}]"; 
JavaScriptSerializer ser = new JavaScriptSerializer(); 
var taxData = ser.Deserialize<List<Tax>>(exString); 
+3

您是否嘗試過讓你的模型反映JSON呢?它看起來像「兒童」應該是一個數組(不能說這是什麼類型的),而不是一個字符串... –

+0

是的,謝謝。沒有意識到,無法轉換爲字符串 – cooper

+0

好吧,將發佈作爲答案。 –

回答

7

該值是一個數組,但您的字段是一個字符串。我建議你讓它成爲適當類型的數組(或列表) - 我們不能告訴你的JSON類型是什麼,但也許你想要一個字符串數組?

我也建議使用屬性而不是公共字段。

(如果你可以移動到Json.NET,我一般建議在JavaScriptSerializer,太...)