我有一个看起来像这样的json文件:
{
"versionTitle": "Title",
"sectionNames": [
"Section1",
"SubSection",
"SubSubSection"
],
"language": "he",
"title": "Title, subtitle",
"text": [
[
[
"<big><b>some text </b></big>",
"<big><b>other text </b></big>",
<b>more text</>
],
[
"<big><b>text\n</b></big>",
"<small>other text <small>\n",
],
我想将其解析为可用对象,以便我可以将“big”标记定义为标题,将“b”标记定义为常规文本等,并对其进行适当的样式设置。
我知道我需要做这样的事情来提取json字符串:
var json = System.IO.File.ReadAllText("jsonFile.json");
var objects = JArray.Parse(json); // parse as array
foreach (JObject root in objects)
{
foreach (KeyValuePair<string, JToken> app in root)
{
}
}
但是,如何解析标签并使用其中的文本,同时根据标签设置文本样式?
答案 0 :(得分:1)
您需要将它们解析为XML,因为这是您在文本字段中拥有的内容。您可以使用内置的XML解析器来执行此操作。 XmlDocument,它确实变得有点复杂,但你使用的只是JSON,所以这将是一个给定的。
从脚本中读取到xml。
System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
xml.LoadXml( jsonFieldText /*"<big><b>text\n</b></big>"*/ );
从那里你可以使用Xpath或循环来找出你的树形结构。