将此字符串解析为Guids或字符串数​​组

时间:2014-08-05 12:55:45

标签: arrays sitefinity string-conversion

我正在使用Sitefinity,当您向页面添加自定义Tags属性时,会产生以下字符串值:

"[\"1f3560ca-84b9-6a87-9ce5-ff00009465c7\",\"893460ca-84b9-6a87-9ce5-ff00009465c7\"]"

有没有人有一个聪明的转换方法可以将此字符串转换为guid或字符串数​​组?

我会写一些分开的东西,并删除括号......我觉得必须有一个更好的方法,但它不会浮现在脑海中。

3 个答案:

答案 0 :(得分:1)

您可以使用Microsoft JavaScriptSerializer class,它可以帮助您将JSON字符串转换为对象。

var serializer = new JavaScriptSerializer();
var deserializedResult = serializer.Deserialize<List<string>>(tags);

答案 1 :(得分:0)

这是我目前的解决方案......

string tags = "[\"1f3560ca-84b9-6a87-9ce5-ff00009465c7\",\"893460ca-84b9-6a87-9ce5-ff00009465c7\"]";
return tags
    .Replace("[", "")
    .Replace("]", "")
    .Replace(" ", "")
    .Replace("\"", "")
    .Split(',')
    .Where(t =>
    {
        Guid g;
        return Guid.TryParse(t, out g);
    }).Select(t => new Guid(t)))

答案 2 :(得分:0)

您是否尝试将其投射到TrackedList?