我已经编写了一个c#应用程序,它逐行读取JSON文件并从中编写csv文件。我为每个csv格式创建了模型文件,这些模型的对象在解析时被实例化,然后在最后写入csv。
对于Ex:如果输入文件名是abc.json,则为abc创建并实例化对象,将其存储在List等数据结构中,然后在最后将其写入csv。
JSON文件:
{
"Computer ID": "1697343078",
"Application Name": "Reporting Services Service",
"Date": "8\/25\/2015",
"Count": "1"
}
我要解析的代码如下:
using (System.IO.StreamReader sr = new System.IO.StreamReader(sFile, Encoding.UTF8))
while ((line = sr.ReadLine()) != null)
{
if (line.Contains("Computer ID") && counter == 4)
{
string[] tokens = line.Split(':');
if (tokens.Length >= 2)
{
resourceID = reg.Replace(tokens[1], "");
}
counter = counter - 1;
line = sr.ReadLine();
}
}
由于数据格式不一致或输入文件中的其他字段,解析失败。代码抛出异常并解析该特定文件完全失败。我希望我的代码拒绝解析并继续解析文件中其他记录的记录,并最终为它生成csv。
我希望它的行为如下, 逐行读取文件 如果在解析时发生任何错误,请不要实例化该对象并继续解析该文件的其他行 将对象写入csv
任何帮助将不胜感激。