如何单独删除锚标记,但将文本保留在 json 数据中
本文关键字:保留 文本 json 数据 删除 何单独 | 更新日期: 2024-10-25 04:30:05
我有一个json数据,其中包含数百个数据,如下所示。
records: [
{
0: "<a name="3096" href="xxx">3096</a>",
1: "02/03/2016",
},
{
0: "<a name="3097" href="yyy">3097</a>",
1: "02/03/2016",
}]
在反序列化之前,我需要从每条记录中删除锚标签,但保留内部文本。它应该像
records: [
{
0: "3096",
1: "02/03/2016",
},
{
0: "3097",
1: "02/03/2016",
}]
如何在 C# 中执行此操作。谁能帮忙。
基于Bidou在这里提供的答案 如何在不知道字符串中包含哪些标签的情况下从字符串中删除所有 HTML 标记?
你可以做这样的事情:
public static string YourMethod()
{
var bar = "records: [{0: '"<a name='"3096'" href='"xxx'">3096</a>'",1: '"02/03/2016'",},{0: '"<a name='"3097'" href='"yyy'">3097</a>'",1: '"02/03/2016'",}]";
var result = StripHTML(bar);
return result;
}
public static string StripHTML(string input)
{
return Regex.Replace(input, "<.*?>", String.Empty);
}
它将返回:
records: [{0: "3096",1: "02/03/2016",},{0: "3097",1: "02/03/2016",}]
另一种选择是先将其序列化到您的类,然后仅从"1"属性中删除锚标记。您还可以检查 json 模型,因为 0 和 1 在 C# 中不是有效的属性名称。它会被序列化成Dictionary
吗?在这种情况下,您可以重新考虑将它们存储为:
string json = @"{""key1"":""value1"",""key2"":""value2""}";
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
如此处所述: 如何在 ASP.NET 中将 JSON 反序列化为简单的字典<字符串,字符串>?