在C#中解析json标签

时间:2016-09-20 18:54:01

标签: c# json xml parsing json.net

我有一个看起来像这样的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)
            {

            }
        }

但是,如何解析标签并使用其中的文本,同时根据标签设置文本样式?

1 个答案:

答案 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或循环来找出你的树形结构。