2011-05-23 65 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示例完全是这样做的。