我有这个代码,我试图将JSON对象转换为CSV文件:
private async Task WriteListrackClient (SyncConfig settings, ISyncMonitor monitor)
{
ICollection<OrderComposite> orders = null;
string jsonOrders = File.ReadAllText(settings.productJsonConfig.FullJSONOrderFilePath);
orders = JsonConvert.DeserializeObject<ICollection<OrderComposite>>(jsonOrders);
using (StreamWriter writer = File.CreateText(settings.listrakProductFeed.ListrakCustomersFileLocation))
{
await writer.WriteLineAsync((orders.Select(x => string.Join(",",x.Customer.EmailAddress.ToString(), x.OrderId.Value.ToString(), x.DateCreated.Value.ToString(), x.TotalSalePrice.Value.ToString(), x.TotalSaleTax.Value.ToString(),0,0,"","","","",x.TotalDiscount.Value.ToString(),"online"))));
};
}
我得到两个错误,我需要一些帮助。第一个是在writer.WriteLineAsync方法上。它是:'System.IO.TextWriter.WRiteLineAsync(char [])的最佳重载方法匹配具有一些无效参数。
第二个是订单。选择语句:参数1:无法从'System.Collections.Generic.IEnumerable'转换为'char []'
在我看来,第二个错误是第一个错误的结果。正如您所见,我正在尝试使用LINQ来提取值。谁能看到我做错了什么?
感谢。
答案 0 :(得分:-2)
目前的格式很难看到,但我认为至少部分问题是你没有做过#34;。ToArray()&#34;在你的&#34; .Select()&#34;
之后