2011-08-05 56 views
1

我正在使用C#來檢索JSON數據。 JSON有兩個陣列,一個用於租賃汽車,一個用於公司汽車,然後每輛汽車有兩個數據。 JSON輸出就像follwingC# - 用兩個數組反序列化JSON字符串?

{"companycars":[[VIN,LICENSEPLATE],[VIN,LICENSEPLATE],"rentalcars":[[VIN,LICENSEPLATE],[VIN,LICENSEPLATE]]} 

我使用JSON.net,可以處理一個數組反序列化到一個簡單的字符串字典的東西,如

Dictionary<string, string> allCars = JsonConvert.DeserializeObject<Dictionary<string, string>>(myCars); 

但是,什麼是內兩個數組的例子相同的結果?我想基本結束了兩個字典(字符串)對象。

+0

你的意思是像詞典<字符串,字典<字符串,字符串>>? –

+0

或者你的意思是一本公司汽車和一本租賃汽車字典> – Tyrsius

+0

其中任何一個都可以。我只需要結束2個字符串字典 - 我可以在很多方面解析它。 –

回答

0

嘗試創建一個類你去序列化JSON的結果存儲像這樣:

public class Cars 
{ 
    public List<string[]> Companycars { get; set; } 
    public List<string[]> Rentalcars { get; set; } 

    public Cars() 
    { 
     Rentalcars = new List<string[]>(); 
     Companycars = new List<string[]>(); 
    } 
} 

string myCars = "{\"companycars\":[[\"VIN\",\"LICENSEPLATE\"],[\"VIN\",\"LICENSEPLATE\"]],\"rentalcars\":[[\"VIN\",\"LICENSEPLATE\"],[\"VIN\",\"LICENSEPLATE\"]]}"; 
Cars allCars = JsonConvert.DeserializeObject<Cars>(myCars); 

希望這有助於。


編輯:

如果您不需要傳遞對象周圍,你可以把結果存儲到一個匿名類型:

var allCars = new 
{ 
    CompanyCars = new List<string[]>(), 
    RentalCars = new List<string[]>() 
}; 

string myCars = "{\"companycars\":[[\"VIN\",\"LICENSEPLATE\"],[\"VIN\",\"LICENSEPLATE\"]],\"rentalcars\":[[\"VIN\",\"LICENSEPLATE\"],[\"VIN\",\"LICENSEPLATE\"]]}"; 

allCars = JsonConvert.DeserializeAnonymousType(myCars, allCars); 
+0

謝謝。我試圖避免這一步,因爲它們都是簡單的字符串,但它聽起來像這將是我的幾個選擇之一 –

相關問題