Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在JSON中获取磅符号(£;)的值会返回一个问号(?)_C#_Json - Fatal编程技术网

C# 在JSON中获取磅符号(£;)的值会返回一个问号(?)

C# 在JSON中获取磅符号(£;)的值会返回一个问号(?),c#,json,C#,Json,我试图在JSON数据中获取一个键的值,但是我收到一个问号作为响应 我的config.json文件: { currency_sign: "£" } 我的代码: public static void readConfig() { var file = File.ReadAllText("config.json"); var file2 = JObject.Parse(file); string currency = file2.SelectToken("curre

我试图在JSON数据中获取一个键的值,但是我收到一个问号作为响应

我的
config.json
文件:

{
    currency_sign: "£"
}
我的代码:

public static void readConfig()
{
    var file = File.ReadAllText("config.json");
    var file2 = JObject.Parse(file);

    string currency = file2.SelectToken("currency_sign").Value<string>();
    Console.WriteLine("Currency: " + currency);
}
我还尝试对字符串进行编码:

byte[] bytes = Encoding.Default.GetBytes(currency);
currency = Encoding.UTF8.GetString(bytes);
然而,输出完全相同


为什么我的代码返回的是
而不是
我如何解决这个问题?

控制台之前,尝试将控制台输出编码设置为UTF8。WriteLine
语句:

Console.OutputEncoding = System.Text.Encoding.UTF8;

文件.ReadAllText
帮助指定编码参数,如
encoding.UTF8
,是否可以回答您的问题?请看。然后在
ReadAllText
调用中调用您的文件。@Fluffy什么操作系统?什么样的系统语言?@Fluffy使用simple
Console.WriteLine(“代码”)
?Windows 10 Pro,C#.Net控制台应用程序我猜值本身必须进行编码,因为JSON可能无法读取它。@Fluffy尝试使用
货币符号将整个文件/行写入控制台。
Console.OutputEncoding = System.Text.Encoding.UTF8;