2014-02-19 28 views
0

我收到了一些JSON數據是不是在「名稱:值」對,但它是這樣的:我不能,因爲我得到一個錯誤解析使用JsonConvert.DeserializeObject這個數據如何解析不是「名稱:值」格式的JSON數據?

[[\"ManagerID\",\"EmployeeID\",\"Domain\"],[\"2\",\"110\",\"BBU\"]] 

「要修復此錯誤,請將JSON更改爲JSON對象(例如, {」name「:」value「})或將反序列化類型更改爲數組或實現集合接口的類型(例如ICollection, IList) 像可以從JSON數組反序列化的List。 也可以將JsonArrayAttribute添加到該類型,以強制它從一個JSON數組反向序列化爲 。路徑「」,1號線,位置1」

我使用Visual Studio 2008和.NET Framework 3.5。讓我知道如果你需要更多的澄清。

+0

錯誤消息說,所有。你的物體是怎樣的? – ZoolWay

+0

嗯,我在字符串中接收上述數據,因爲它是Web服務返回的方式。所以我想要做的就是解析上面提到的字符串並將它存儲在List中。 – Ray

回答

2

讓我們假設你的對象是這個類:

class MyObject 
{ 
    public int ManagerID { get; set; } 
    public int EmployeeID { get; set; } 
    public string Domain { get; set, } 
} 

那麼你的JSON不匹配它,你的JSON應該是這樣的:

{"ManagerID": 2, "EmployeeID": 110, "Domain": "BBS"} 

如果你真的想讀以上JSON你需要:

JsonConvert.DeserializeObject<string[][]>(yourString); 

試圖

Newtonsoft.Json.JsonConvert.DeserializeObject<string[][]>("[[\"ManagerID\",\"EmployeeID\",\"Domain\"],[\"2\",\"110\",\"BBU\"]]") 

但是,這不是一個方便結構...

+0

嘿,謝謝!非常感謝您的快速回復。被這個東西困住了好幾個小時。是的,JSON的格式不正確,但這是WebService返回的內容,並且它不在我的控制之下。 – Ray

+0

只是一個簡單的問題。我如何直接將數據填入列表? – Ray

+0

WebService提供的數據如何看起來像它有多個記錄/條目時? – ZoolWay