从URL的响应中读取的最简单方法

时间:2013-07-29 19:14:57

标签: c# .net

我是C#的新手,并没有找到一个简单的代码来读取URL的响应。例如:

http://www.somesitehere.com/mysearch

响应是这样的(我不知道这是什么样的反应):

{ "response": {
"status": {
  "code": "0",
  "message": "Success",
  "version": "4.2"
},
  "start": 0,
  "total": 121,
  "images": [
    {
      "url": "www.someimagelinkhere.com/pic.jpg",
      "license": {
        "url": "",
        "attribution": "",
        "type": "unknown"
      }
    }
  ]
}}

之后我会将该网址“www.someimagelinkhere.com/pic.jpg”保存到文件中。但我知道怎么做。我只想将网址与其他网址分开。

我看到了这个主题:Easiest way to read from a URL into a string in .NET

再见

2 个答案:

答案 0 :(得分:3)

您的回复是JSON格式。使用库(NewtonSoft,但也有其他库)来提取所需的节点。

答案 1 :(得分:1)

您可以使用Newton soft的JSON.NET,可以使用Visual Studio中的NuGet Package Manager找到并安装。

你也可以这样做。

var jSerializer = new JavaScriptSerializer();
var result = jSerializer.DeserializeObject("YOUR JSON RESPONSE STRING");

JSON字符串不是具有与您的名称匹配的属性的C#对象,例如start,total,images等。如果需要,您可以创建一个强类型对象并将转换后的对象转换为该对象以方便使用

强类型版本:

var jSerializer = new JavaScriptSerializer();
var result = (YourStrongType)jSerializer.DeserializeObject("YOUR JSON RESPONSE STRING");

var imgUrl = result.images[0].url;