我有这个字符串
[
{
"url_short":"http:\/\/sample.com\/8jyKHv",
"url_long":"http:\/\/www.sample.com\/",
"type":0
}
]
我想要的是获取http:\/\/sample.com\/8jyKHv
并将其翻译为
http://sample.com/8jyKHv
有可能吗?
答案 0 :(得分:3)
答案 1 :(得分:2)
试试这个
创建一个类如下
注意:您可以在visual studio中使用“选择性粘贴”选项来生成与JSON相关的所有类
编辑 - >选择性粘贴 - >将Json粘贴为类
它将创建与JSON相关的所有类
public class url_details
{
public string url_short { get; set; }
public string url_long { get; set; }
public int type { get; set; }
}
public List<url_details> json_deserialized()
{
string json = "[{\"url_short\":\"http:\\/\\/sample.com\\/8jyKHv\",\"url_long\":\"http:\\/\\/www.sample.com\\/\",\"type\":0}]";
List<url_details> items = new List<url_details>();
items = JsonConvert.DeserializeObject<List<url_details>>(json);
return items;
}
您可以访问以下元素
List<url_details> obj = json_deserialized();
string url_short = obj[0].url_short;
答案 2 :(得分:1)
字符串是一个JSON字符串,因此您可以创建一个类来获取像这样的值
public class Rootobject
{
public Class1[] Property1
{
get;
set;
}
}
public class Class1
{
public string url_short
{
get;
set;
}
public string url_long
{
get;
set;
}
public int type
{
get;
set;
}
}
在此课程之后,您可以获得此类数据
string json = "[{"url_short":"http:\/\/sample.com\/8jyKHv","url_long":"http:\/\/www.sample.com\/","type":0}]";
List<Rootobject> ro = JsonConvert.DeserializeObject<List<Rootobject>>(json);
string ururl = ro[0].Propert1[0].url_short;
答案 3 :(得分:1)
JSON方式肯定是推荐的,但不能说明它。以下是正则表达式的替代方法:
Regex rgxUrl = new Regex("\"url_short\":\"(.*?)\",\"");
Match mUrl = rgxUrl.Match(yourString);
string url = Regex.Replace(mUrl.Groups[1].Value, @"\", "");