2016-09-20 2 views
0

C#에서 태그 :구문 분석 JSON의 나는 이런 식으로 뭔가 보이는 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", 

     ], 

내가 제목으로 "큰"태그를 정의 할 수 있도록 가능한 객체로이 구문 분석 할을하고, 일반 텍스트 등으로 "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

json은 JArray가 아닌'JObject'입니다. http://json2csharp.com/ –

+0

@ L.B를 참조하십시오. 저는 json을 처음 접했고 이해하지 못합니다. 더 설명하고 안내해 주시겠습니까? – amitairos

+0

위의 사이트 링크를 사용하여 모델 얻기 ... 이제는 var result = JsonConvert.DeserializeObject (json);을 사용해야합니다. 이제 구체적인 객체를 사용할 수 있습니다 .... –

답변

1

텍스트 필드에있는 내용이므로 XML로 구문 분석해야합니다. 내장 XML 구문 분석기를 사용하여이를 수행 할 수 있습니다. XmlDocument, 좀 더 복잡해 지지만 주어진 JSON보다 더 많이 사용하고 있습니다.

스크립트에서 XML로 읽는 중입니다.

System.Xml.XmlDocument xml = new System.Xml.XmlDocument(); xml.LoadXml(jsonFieldText /*"<big><b>text\n</b></big>"*/);

거기에서 당신은 Xpath를 사용하거나 트리 구조를 파악하는 루프 수 있습니다.

관련 문제