【问题标题】:Download a json content by accessing the url通过访问 url 下载 json 内容
【发布时间】:2015-05-12 12:01:08
【问题描述】:

这是我的示例代码。在执行时,它会给出以下错误。 “无法解析远程名称:www.javascriptkit.com”。我已经在 WCF 服务中编写了这段代码。

string url = "http://www.javascriptkit.com/dhtmltutors/javascriptkit.json";
Uri uri = new Uri(url);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string output = reader.ReadToEnd();

【问题讨论】:

  • 这是用任何特定语言编写的吗?
  • @ScottHunter,标签改进:-)
  • 这是 C# 代码。我有一个 Silverlight 应用程序,它调用应该返回内容的这个 WCF 服务方法。 WCF 方法返回的内容将被解析并填充到数据网格中。

标签: c# asp.net json wcf


【解决方案1】:

在您的C# 代码中使用此代码将使其工作。它使用 webclient 对象下载 JSON,然后将其内容传递给 JSON 序列化程序。该序列化程序将其呈现为字典对象。

您需要以下课程:

  • System.Web.Script.Serialization
  • System.Web.UI.WebControls
 var webClient = new WebClient();
 string readHtml = webClient.DownloadString("http://www.javascriptkit.com/dhtmltutors/javascriptkit.json");
 var a = new JavaScriptSerializer();

 Dictionary<string, object> results = a.Deserialize<Dictionary<string, object>>(readHtml);
 var title = results["title"].ToString(); //stores javascriptkit.com

要在您的 WFC 应用程序中使用此功能,请将以下内容添加到您的 web.config

<system.net>
   <defaultProxy enabled="true" useDefaultCredentials="true">
   </defaultProxy>
</system.net>

【讨论】:

  • 您的代码也有效。我只需要代码中的“readHtml”部分,它给出了提到的 url 的内容。其余处理,我在客户端处理。我通过在 web.config 中添加修改使我的代码正常工作。但我会使用这段代码,因为这看起来不那么复杂。谢谢。
  • 无论我们使用 HttpClient 还是 WebClient,我都需要在标签内的 web.config 中添加以下代码才能使其正常工作。抛出“无法解析远程名称:www.javascriptkit.com”。
  • @RakeshJ,真可惜。我建立我的解决方案。 (不使用 WFC 的想法)并且有效。会将您的解决方案添加到我的解决方案中,以使其成为有效的替代方案。
【解决方案2】:

我的问题现在解决了。在标签内的 web.config 中添加了以下代码。谢谢大家。

 <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
    </defaultProxy>
  </system.net>

【讨论】:

  • 贸泽建议的相同解决方案。为什么要添加自己的答案并将其标记为正确。我给你负面评价。
猜你喜欢
  • 1970-01-01
  • 2011-03-26
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
  • 2022-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多