如何从C#中的JSON响应中删除反斜杠?

时间:2013-02-02 10:22:01

标签: c# json wcf web-services rest

我编写了一个Web服务,它将TP-Open服务的XML响应转换为JSON格式。我是WCF的新手并编写Webservice。 但转换后的JSON格式显示如下。

"{ \"data\": { \"current_condition\": [ {\"cloudcover\": \"25\", \"humidity\": \"48\", \"observation_time..

到目前为止,如何删除这些反斜杠\和我的代码。

   public string checkweather(string q, string num_of_day)
    {
         HttpWebRequest request=..;
               ...
        string Url = string.Format("http://free.worldweatheronline.com/feed/weather.ashx?q={0}&format={1}&num_of_days={2}&key={3}", q, format, num_of_days, key);
        HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(Url);
        Request.Method = "GET";

        using (HttpWebResponse response = (HttpWebResponse)Request.GetResponse())
        {
            using (Stream stream = response.GetResponseStream())
            {

                using (StreamReader reader = new StreamReader(stream))
                {
                    var result2=reader.ReadToEnd();
         }}}
          return result2;
         }

如果您需要更多信息,请通知我。

4 个答案:

答案 0 :(得分:3)

你确定你的字符串中有反斜杠吗?它看起来像我是转义字符,因为你的字符串中有“字符。

答案 1 :(得分:3)

我认为你的JSON很好,反斜杠正在逃避引用,人们已经说过了。以下代码显示了一些有效的XML - > Json转换。 (使用Json.NET)

const string xml = "<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>";
XmlDocument node = new XmlDocument();
node.LoadXml(xml);

string json = JsonConvert.SerializeXmlNode(node);

如果你在调试模式下查看,你会看到反斜杠,但输出是有效的Json。

输出

{"note":{"to":"Tove","from":"Jani","heading":"Reminder","body":"Don't forget me this weekend!"}}

答案 2 :(得分:1)

str = JToken.Parse(your string).ToString();

答案 3 :(得分:0)

休息服务时间:System.Net.WebUtility.HtmlEncode(JsonString);

响应时间:System.Net.WebUtility.HtmlDecode(JsonString);

如果您的解码代码包含此字符串\\",请将\\替换为\