2011-05-23 64 views
0

我使用MailChimp中的ExportAPI。它發回一個「無根」Json字符串,如下所示:使用Json.Net和JArrays使用「root」無JSON對象需要幫助

["Email Address", "First Name", "Last Name"] 
["[email protected]", "Jeff", "Johnson"] 
["[email protected]", "Tubbs", "McGraw"] 

沒有括號,什麼都沒有 - 只是一對數組。加載到一個JArray只挑選了第一個對象:

JArray jsonArray = new JArray.Parse(jsonResponse); 
Console.WriteLine(jsonArray); 

//Outputs: 
//Email Address 
//First Name 
//Last Name 

我希望字符串的內容複製到數據庫中,需要訪問與LINQ的響應。任何關於使用Json對象的正確方式的建議(如上所示)(使用Json.net或其他?)

+0

只需將其更改爲'JArray jsonArray = new JArray.Parse(「[」+ jsonResponse +「]」);' – Earlz 2011-05-23 16:16:33

回答

1

用根元素填充字符串,只需添加'['和']'?

0

這種行爲實際上完全是有目的的,如the docs所述。理由是,清單數據的完整轉儲可能太大而無法始終適合內存並對其進行解析。因此,在給定返回格式的情況下,您需要使用換行符作爲分隔符(或以此方式讀取它),分別解析每個對象,然後根據需要隨時隨地執行任何操作。

我不熟悉在C#/ Linq中這樣做,但文檔頁面上的PHP示例完全是這樣做的。