解码 c# 中 json 数据中的特殊字符
本文关键字:特殊字符 数据 json 解码 | 更新日期: 2023-09-27 18:35:14
我正在从网址获取json格式的数据。一切都很完美,但一个小问题是,在我获得的数据中有一些特殊字符,例如:
Get 50% off on Pizzas between 11am – 5pm.
–
这里的意思是它是"-",但是我如何在 C# 中对其进行解码,以便它将其视为"-"。
我尝试过使用 Html.decode 方法,它对 URL 工作正常,但对数据不起作用。
我不能在任何地方用"-"替换–
,因为这不是一个单一的情况,还有其他类似的字符。
工作正常:
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);
}
}