C# 如何将JSON结果解析为动态对象

C# 如何将JSON结果解析为动态对象,c#,json,parsing,mailchimp,restsharp,C#,Json,Parsing,Mailchimp,Restsharp,我正在尝试编写一个C实用程序来使用从返回的结果 文档声明结果将作为流式JSON返回 这意味着对该API的调用不会返回单个有效的JSON 对象,而是一系列由 换行符 我看到的结果在我看来不像普通的JSON,也不是我所期望的。在我看来,它就像用方括号包装的CSV数据,第一行有行标题 一小段结果。我也会把它们贴在下面 ["Email Address","First Name","Last Name","Company","FirstOrder","LastOrder","CustomerID","Sa

我正在尝试编写一个C实用程序来使用从返回的结果

文档声明结果将作为流式JSON返回

这意味着对该API的调用不会返回单个有效的JSON 对象,而是一系列由 换行符

我看到的结果在我看来不像普通的JSON,也不是我所期望的。在我看来,它就像用方括号包装的CSV数据,第一行有行标题

一小段结果。我也会把它们贴在下面

["Email Address","First Name","Last Name","Company","FirstOrder","LastOrder","CustomerID","SalesRep","ScreenName","PlayerPage","PlayerPDF","Services Purchased","Contests","EMAIL_TYPE","MEMBER_RATING","OPTIN_TIME","OPTIN_IP","CONFIRM_TIME","CONFIRM_IP","LATITUDE","LONGITUDE","GMTOFF","DSTOFF","TIMEZONE","CC","REGION","LAST_CHANGED","LEID","EUID"]
["john@domain.com","John","Doe","ACME Inc","2010-09-07","2010-09-07","ABC123","sally","","","","Service1","","html",2,"",null,"2011-12-23 15:58:44","10.0.1.1","34.0257000","-84.1418000","-5","-4","America\/Kentucky\/Monticello","US","GA","2014-04-11 18:38:39","40830325","82c81e14a"]
["jane@domain2.com","Jane","Doe","XYZ Inc","2011-05-02","2011-05-02","XYZ001","jack","","","","Service2","","html",2,"",null,"2011-12-23 15:58:44","10.0.1.1","34.0257000","-84.1418000","-5","-4","America\/Kentucky\/Monticello","US","GA","2014-04-11 18:38:40","40205835","6c23329a"]
你能帮我理解返回的是什么吗?因为它看起来不是正常的JSON。我最好的方法是什么来将数据流解析成C对象


编辑:我已经在上面的示例行中使用并粘贴了JSON,确认数据流是有效的。所以我希望的是一种基于第一行动态创建对象的方法,然后使用后续行中包含的值创建这些对象的列表。

没错,这不是典型的JSON形式。您可以做的是创建字典对象的集合。使用响应的第一部分作为字典的键,然后将结果的后续部分中找到的值作为每个字典的值。

我已经确认,这是有效的JSON,至少在我至少粘贴几行时它会验证,所以我仍然希望找到一个解决方案,允许我动态创建和编辑对象,并将附加的行作为值读取。@RichardWest我认为jensendp的意思是,尽管它是有效的JSON,但它不是正常的。通常,每个对象都是自包含的,而不是得到一个描述细节的头JSON对象。这不是典型的JSON:-谢谢你,梅森,这就是我想要表达的@RichardWest除非您知道将提前获得的字段,否则很难创建预定义类型。当然,您可以在C中使用动态对象,但是为了检索值,您需要明确地知道它们,或者必须将动态对象转换为字典,以便通过某种循环获取值。我觉得这只是增加了另一层复杂性,尽管如果你愿意,你可以走这条路。这就是为什么我建议只使用字典。