在c#中读取包含umlaut的Json文件

时间:2015-11-11 11:39:30

标签: c# json json.net

我正在尝试在c#中读取包含umlaut的Json文件,以下是文件的格式:

{
    "BankCodeOertlich": "59000000",
    "BicOertlich": "",
    "ErgaenzungName": "Außenst. Sulzbach",
    "HauptstelleAussenstellen": "Außenstelle v. Finanzamt Saarbrücken Am"
}

我使用以下代码来读取c#中的json:

public static List<T> Load<T>(string filePath)
{
    using (var stream = File.OpenRead(filePath))
    {
        var reader = new StreamReader(stream, Encoding.UTF8);
        List<T> data = JsonConvert.DeserializeObject<List<T>>(reader.ReadToEnd());
        return data;
    }
}

我得到以下输出:

{
    "BankCodeOertlich": "59000000",
    "BicOertlich": "",
    "ErgaenzungName": "Au?enst. Sulzbach",
    "HauptstelleAussenstellen": "Au?enstelle v. Finanzamt Saarbr?cken Am"
}

这只是一个例子而不是实际的输出。我试图更改为StreamReader的编码,但它无法正常工作。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:3)

该文件未以UTF8编码,请尝试使用Encoding.GetEncoding(“iso-8859-1”)。