2

我是 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”保存到一个文件中。但这我知道该怎么做。我只想将网址与其他网址分开。

我看到了这个主题:在.NET 中从 URL 读取到字符串的最简单方法

再见

4

2 回答 2

3

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

于 2013-07-29T19:22:28.377 回答
1

您可以使用 Newton soft 的 JSON.NET 之类的东西,可以使用 Visual Studio 中的 NuGet 包管理器找到并安装它。

你也可以这样做。

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;
于 2013-07-29T19:25:57.427 回答