前提・実現したいこと
C#でcsvファイルを読み込みjson形式で出力したいです。
json形式にする上で、csvファイルの1行目をkeyとし、2行目以降をvalueとして出力したいのですがいい方法はないでしょうか。
例)以下のようなcsvファイルを読み込み
aaa,bbb,ccc
1,2,3
50,70,90
以下のような形式で出力したいです。
{"aaa": "1" ,"bbb": "2", "ccc": "3" }
{"aaa": "50" ,"bbb": "70", "ccc": "90" }
該当のソースコード
C#
1using System.Collections.Generic; 2using System.IO; 3using System.Json; 4using Newtonsoft.Json; 5 6namespace CsvRead 7{ 8 class Test 9 { 10 static void Main() 11 { 12 StreamReader sr = new StreamReader(@"test.csv", System.Text.Encoding.GetEncoding("shift_jis")); 13 { 14 while (!sr.EndOfStream) 15 { 16 17 string line = sr.ReadLine(); 18 19 string[] values = line.Split(','); 20 List<string> lists = new List<string>(); 21 lists.AddRange(values); 22 23 string jsonString = JsonConvert.SerializeObject(lists); 24 25 System.Console.WriteLine(jsonString); 26 27 28 } 29 } 30 31 } 32 } 33}
試したこと
csvファイルを読み込み1行目から最後までjson形式で出力した。しかしこのソースでは出力されるjsonの{}が[]になってしまうという問題も解決出来ておりません。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー