Header JSON 将 CSV 转换为 JSON

Header JSON Converting CSV to JSON

您好,我想将 CSV 字符串转换为 JSON,但我认为 JSON 的 Header 在编码方面存在一些问题。

这里是代码和输出:

[{... "Endere_o_4": "", "Endere_o_5": "", "Endere_o_6": "", "C_digo_Postal": "1000-045", ...]}


Expected Result: [{... "Endereço_4": "", "Endereço_5": "", "Endereço_6": "", "Código_Postal": "1000-045", ...]}


public void MssCSVtoJSON(string ssCSV, out string ssJSON)
        {
            ssJSON = "";

            ChoCSVFileHeaderConfiguration headerConfiguration = new ChoCSVFileHeaderConfiguration(null, new System.Globalization.CultureInfo("pt-PT"));
            ChoCSVRecordConfiguration config = new ChoCSVRecordConfiguration();
            config.FileHeaderConfiguration = headerConfiguration;

            StringBuilder sb = new StringBuilder();
            using (var p = ChoCSVReader.LoadText(ssCSV,Encoding.Unicode, config, null).WithFirstLineHeader())  {
                using (var w = new ChoJSONWriter(sb))   {
                    w.Configuration.Encoding = Encoding.Unicode;
                    w.Write(p);
                }
            }
            ssJSON = sb.ToString();
            // TODO: Write implementation for action
        } // MssCSVtoJSON

这是已知问题,修复并推送 ChoETL 1.1.0.5-alpha2 nuget 包。

这是工作示例

string csv = @"Endereço_4, Endereço_5
1, 11
2, 22";
StringBuilder output = new StringBuilder();
using (var r = ChoCSVReader.LoadText(csv).WithFirstLineHeader())
{
    using (var w = new ChoJSONWriter(output))
        w.Write(r);
}

Console.WriteLine(output);

输出:

[
 {
  "Endereço_4": "1",
  "Endereço_5": "11"
 },
 {
  "Endereço_4": "2",
  "Endereço_5": "22"
 }
]