从 Json 字符串中提取数据

Extract data from Json string(从 Json 字符串中提取数据)
本文介绍了从 Json 字符串中提取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我得到了一个包含 Json 的字符串.它看起来像这样:

I got a string containing Json. It looks like this:

"status_code":200,
"status_txt":"OK",
"data":
{
   "img_name":"D9Y3z.png",
   "img_url":"http://s1.uploads.im/D9Y3z.png",
   "img_view":"http://uploads.im/D9Y3z.png",
   "img_width":"167",
   "img_height":"288",
   "img_attr":"width="167" height="288"",
   "img_size":"36.1 KB",
   "img_bytes":36981,
   "thumb_url":"http://s1.uploads.im/t/D9Y3z.png",
   "thumb_width":360,
   "thumb_height":360,
   "source":"http://www.google.com/images/srpr/nav_logo66.png",
   "resized":"0",
   "delete_key":"df149b075ab68c38"
}

我正在尝试获取img_url".我已经安装了 Json.NET,我在这里发现了类似的问题..

I am trying to get a hold of the "img_url". I have Json.NET installed and Ive found similar questions here..

例如这样的:

JObject o = JObject.Parse("{'People':[{'Name':'Jeff'},{'Name':'Joe'}]}");

// get name token of first person and convert to a string
string name = (string)o.SelectToken("People[0].Name");

就我而言,我将 ("People[0].Name") 更改为 ("img_url"),("img_url[0]) etc..没有运气

In my case I changed ("People[0].Name") to ("img_url"),("img_url[0]) etc..no luck

这是我现在的代码:

public string tempJson { get; set; }
public ActionResult SaveUploadedFile(string test)
{
    using (WebResponse wrs = wrq.GetResponse())
    using (Stream stream = wrs.GetResponseStream())
    using (StreamReader reader = new StreamReader(stream))
    {
        string json = reader.ReadToEnd();
        tempJson = json;
    }
}

在提取值之前,我是否必须对字符串进行处理?谢谢!

Do I have to do something with the string before I can extract the value? Thanks!

推荐答案

img_url 不是根对象的属性 - 它是 data 对象的属性:

img_url is not a property of root object - it's a property of data object:

var obj = JObject.Parse(json);
var url = (string)obj["data"]["img_url"]; // http://s1.uploads.im/D9Y3z.png

另一种选择:

var url = (string)obj.SelectToken("data.img_url");

这篇关于从 Json 字符串中提取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Force JsonConvert.SerializeXmlNode to serialize node value as an Integer or a Boolean(强制 JsonConvert.SerializeXmlNode 将节点值序列化为整数或布尔值)
Using JSON to Serialize/Deserialize TimeSpan(使用 JSON 序列化/反序列化 TimeSpan)
Could not determine JSON object type for type quot;Classquot;(无法确定类型“Class的 JSON 对象类型.)
How to deserialize a JSONP response (preferably with JsonTextReader and not a string)?(如何反序列化 JSONP 响应(最好使用 JsonTextReader 而不是字符串)?)
how to de-serialize JSON data in which Timestamp it-self contains fields?(如何反序列化时间戳本身包含字段的JSON数据?)
JSON.Net custom contract serialization and Collections(JSON.Net 自定义合约序列化和集合)