解码 c# 中 json 数据中的特殊字符

本文关键字:特殊字符 数据 json 解码 | 更新日期: 2023-09-27 18:35:14

我正在从网址获取json格式的数据。一切都很完美,但一个小问题是,在我获得的数据中有一些特殊字符,例如:

Get 50% off on Pizzas between 11am – 5pm.

–这里的意思是它是"-",但是我如何在 C# 中对其进行解码,以便它将其视为"-"。

我尝试过使用 Html.decode 方法,它对 URL 工作正常,但对数据不起作用。

我不能在任何地方用"-"替换–,因为这不是一个单一的情况,还有其他类似的字符。

解码 c# 中 json 数据中的特殊字符

工作正常:

https://dotnetfiddle.net/H9rpLe

using System;
public class Program
{
    public static void Main()
    {
        string data = System.Net.WebUtility.HtmlDecode("Get 50% off on Pizzas between 11am – 5pm"); 
        Console.WriteLine(data);
    }
}

输出:在上午 50 点至下午 11 点之间享受比萨饼 5% 的折扣

我认为这是这个问题的重复。

您可以使用 HttpUtility.HtmlDecode

如果您使用的是.NET 4.0+,则还可以使用WebUtility.HtmlDecode,它不需要额外的程序集引用,因为它在 System.Net 命名空间中可用。

尝试解码两次,因为似乎您已经编码了两次。第一次解码会将–转换为–,然后第二次解码将使其

using System;
using System.Web;
public class Test
{
    public static void Main()
    {
        string s = "Get 50% off on Pizzas between 11am – 5pm.";
        Console.WriteLine(s);
        string d = HttpUtility.HtmlDecode(s);
        Console.WriteLine(d);
        string e = HttpUtility.HtmlDecode(d);
        Console.WriteLine(e);
    }
}