6

我编写了一个 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

4 回答 4

3

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

于 2013-02-02T11:25:09.597 回答
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!"}}
于 2013-02-02T12:38:13.333 回答
1
str = JToken.Parse(your string).ToString();
于 2015-11-26T08:07:37.437 回答
0

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

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

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

于 2016-08-01T19:04:38.400 回答