从c#

时间:2016-02-18 09:07:03

标签: c# json decode

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

  

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

–这意味着它是' - ',但是如何在c#中对其进行解码,以便将其作为' - '。

我尝试过使用Html.decode方法,它可以很好地处理URL而不是数据。

我无法将–替换为' - '无处不在,因为这不是一个案例,也有其他类似的人物。

3 个答案:

答案 0 :(得分:2)

工作正常:

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);
    }
}
  

输出:上午11点至下午5点在比萨饼上享受五折优惠

答案 1 :(得分:1)

我认为这与此question重复。

  

您可以使用HttpUtility.HtmlDecode

     

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

答案 2 :(得分:0)

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

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);
    }
}