2013-05-16 52 views
0

Deserialize JSON into C# dynamic object?動態的Json序列化

按照上面的問題,我複製dynamicJsonDeserilization並嘗試使用我的應用程序。

然後我嘗試訪問該對象

var Data = json.deserilization(jsonstring); 

現在,我的字符串是

{ 「0」:{ 「名稱」: 「C:\\」, 「類型」:」分區」, 「路徑」: 「C:\\」}, 「1」:{ 「名稱」: 「d:\\」, 「類型」: 「分區」, 「路徑」: 「d:\\」} 「2」:{ 「名稱」: 「E:\\」, 「類型」: 「分區」, 「路徑」: 「E:\\」}}

即我有我的服務器上的一組我將其轉換爲JSON字符串併發送。

根據最佳答案的代碼,我應該能夠以Data.0的身份訪問它,但它會給出「期望的表達結束」,同樣Data[0]也會給出相同的錯誤。我不確定我該如何使用它?任何幫助表示讚賞。謝謝。

+0

您是否試圖通過在適當的位置設置斷點來檢查數據,然後將鼠標指針放在數據上?這使您能夠深入瞭解「Data」的對象結構。 –

+0

我做了,它給我看這個{名稱:「ABC」,類型:「10」},名稱:「測試」,「年齡」:「10」}}這對我來說也不錯。 –

+0

轉到http://jsonlint.com/併爲其提供字符串以驗證它是否有效JSON – Alex

回答

0

現在,我的字符串是

{ 「0」:{ 「名稱」: 「C:\」, 「類型」: 「分區」, 「路徑」: 「C:\」}, 「1」:{ 「名稱」: 「d:\」, 「類型」: 「分區」, 「路徑」: 「d:\」}, 「2」:{ 「名稱」: 「E:\」,」類型「:」分區「,」路徑「:」E:\「}}

由於轉義引號,您的字符串確實無效JSON。這些C:\打破瞭解析器。你應該產生像這樣,發送 backslahes:

{ 「0」:{ 「名稱」: 「C:\\\」, 「類型」: 「分區」, 「路徑」:」 C:\\\「} ...

+0

以及我已經有了斜線,但是我在我的問題中解決了它們,我不知道之前的stackoverflow格式。抱歉。 –

+0

是的,我注意到了。固定的字符串包含**三個**反斜槓。我現在嘗試解決格式問題。 – Alex

+0

謝謝。我格式不好:(。 –