如何在H#中将HtmlText转换为普通字符串?

时间:2011-06-08 12:23:17

标签: c# json

我有以下型号:

namespace power.Storage.Models
{
    public class Answer
    { 
        public HtmlText[] Explanation { get; set; }
        public string[] ImageFile { get; set; }
    }

    public class HtmlText { 
        [AllowHtml]
        public string TextWithHtml { get; set; } 
    }
}

现在我希望能够从答案中获取数据并执行以下操作:

String[] _code_explanation = null;
_code_explanation = 
 (string) JSON.FromJSONString<Answer>(_code.AnswersJSON).Explanation;

但它不起作用。它说“无法将HtmlText转换为字符串

有什么我想念的吗?我认为我需要做的就是在JSON之前添加(字符串)...

这是JSON的代码

    public static T FromJSONString<T>(this string obj)
    {
        using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(obj)))
        {
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
            T ret = (T)ser.ReadObject(stream);
            return ret;
        }
    }

以下一半有效:

HtmlText[] _code_explanation = null;
    _code_explanation = 
     (string) JSON.FromJSONString<Answer>(_code.AnswersJSON).Explanation;

它给了我一个HtmlText数组但是我不知道如何将它转换成一个简单的字符串数组。

3 个答案:

答案 0 :(得分:2)

HTMLText没有明确或隐含的String转换运算符。

答案 1 :(得分:1)

您可以使用HttpUtility.HtmlDecode方法解码HtmlText。它不能直接转换为字符串。

答案 2 :(得分:0)

我认为你想要做这样的事情,假设解释是Html Text

String[] _code_explanation = null;
_code_explanation = 
   JSON.FromJSONString<Answer (_code.AnswersJSON).Explanation.TextWithHtml;