簡體   English   中英

C# CSV 到 JSON 與 Newtonsoft

[英]C# CSV to JSON with Newtonsoft

在你責怪我之前,是的,在我發布這個問題之前,我確實搜索了這個主題/問題。

我的任務是使用 C# 和 Newtonsoft 將 CSV 轉換為 JSON。 但是我在使用這個 Newtonsoft 文檔時遇到了很大的麻煩,而且我不明白 sh*t..

我的想法是:

  1. 為程序提供 CSV 的路徑。
  2. 使用 foreach 循環讀取 CSV。
  3. 將所有行添加到 JSON Object。
  4. 將 JSON 文件保存在同一文件夾中。

這是我到目前為止得到的代碼:

using System;
using System.IO;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

namespace CSVtoJson
{
    class Program
    {
        static void Main(string[] args)
        {
            ConvertCsvFileToJsonObject();
            string ConvertCsvFileToJsonObject()
            {
                string path = "C:\\Dev\\CSVtoJSON\\csvtojson.csv";
                var csv = new List<string[]>();
                var lines = File.ReadAllLines(path);

                foreach (string line in lines)
                    csv.Add(line.Split(','));

                var properties = lines[0].Split(',');

                var listObjResult = new List<Dictionary<string, string>>();

                for (int i = 1; i < lines.Length; i++)
                {
                    var objResult = new Dictionary<string, string>();
                    for (int j = 0; j < properties.Length; j++)
                        objResult.Add(properties[j], csv[i][j]);

                    listObjResult.Add(objResult);
                }

                return JsonConvert.SerializeObject(listObjResult);
            }
        }
    }
}

但是我的 Function 似乎什么也沒做,我也不知道如何創建 JSON 文件並保存它。我非常感謝我會收到的每條評論,因為我堅持了幾個小時:! :)

您用於讀取 csv 的代碼看起來可以工作。 只需使用 Pavel Anikhouski 評論中的信息嘗試更改下面的行並在其后添加一行。

從:

ConvertCsvFileToJsonObject();

進入:

var jsonString = ConvertCsvFileToJsonObject();
File.WriteAllText(""C:\\Dev\\CSVtoJSON\\output.json"", jsonString);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM