这是我的字符串:
[{"url":"http:\/\/is1.mzstatic.com\/image\/thumb\/Music6\/v4\/47\/20\/1f\/47201fb7-ddbf-2ff9-767d-4e26065d0158\/source\/600x600bb.jpg"
这就是我需要的:
http:\/\/is1.mzstatic.com\/image\/thumb\/Music6\/v4\/47\/20\/1f\/47201fb7-ddbf-2ff9-767d-4e26065d0158\/source\/600x600bb.jpg
我很肯定我使用以下内容删除了引号:
s = s.Replace("\"", "");
但我该如何删除:
[{"url":
我想我会使用类似的东西:
int index = sourceString.IndexOf(removeString);
string cleanPath = (index < 0)
? sourceString
: sourceString.Remove(index, removeString.Length);
但由于某些原因我无法将其添加到此处,因为它本身使用双引号。
答案 0 :(得分:1)
假设您没有使用任何JSON库并只获取属性url值,那么为什么不使用string.IndexOf()
保持简单并忽略第一个和最后一个char?
var idx = rawJSON.IndexOf(':');
if ( idx > -1 )
{
return rawJSON.SubString(idx + 2, rawJSON.Length - (idx + 2 + 1)); //calculating in my head....
}
else
{
return rawJSON;
}
答案 1 :(得分:1)
这是一种享受:
var s = @"[{""url"":""http:\/\/is1.mzstatic.com\/image\/thumb\/Music6\/v4\/47\/20\/1f\/47201fb7-ddbf-2ff9-767d-4e26065d0158\/source\/600x600bb.jpg""}]";
var jarray = Newtonsoft.Json.JsonConvert.DeserializeObject(s) as Newtonsoft.Json.Linq.JArray;
var url = jarray[0].Value<string>("url");
我明白了:
你只需要NuGet&#34; Newtonsoft.Json&#34;获得图书馆。
答案 2 :(得分:0)
您可以在Replace()
上再次使用[{"url":
,只需记住您已删除第一个"
上的Replace
,现在只有[{url:
s = s.Replace("\"","");
s = s.Replace("[{url:", ""); // s no longer has " after the first Replace