我有以下型号:
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数组但是我不知道如何将它转换成一个简单的字符串数组。
答案 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;