2017/11/29 - [프로그램 자료/Visual C#] - Json To Xml Converter



우선 nuget으로 Newtonsoft.Json를 받는다.

PM> Install-Package Newtonsoft.Json -Version 10.0.3


Object to JsonString

string jsonString = JObject.FromObject(T).ToString();




input Json string

.net에서 Json string을 변환할 때 배열로만 Parsing 하려면 오류가 난다.

Object 가 먼저 나와야 하며 Object의 속성에 배열을 넣어주어야 오류가 나지 않았다.

{

   "TagList": [

      {

         "ID": "ROOT",

         "Tag": "div",

         "Width": 978,

         "Height": 559,

         "Title": "제목을 입력하세요."

      },

      {

         "ID": "group1",

         "PID": "ROOT",

         "Tag": "div",

         "Display": "block",

         "Position": "static",

         "Width": 956,

         "Height": 293,

         "Top": 0,

         "Left": 0,

         "Title": "group1"

      }

   ]

}


Model Class

public class HtmlTag

{

    public string ID { get; set; }

    public string PID { get; set; }

    public string TAG { get; set; }

    public string DataField { get; set; }

    public string DataDesc { get; set; }

    public string Title { get; set; }

    public string InputType { get; set; }

    public string Display { get; set; }

    public string Position { get; set; }

    public string Top { get; set; }

    public string Left { get; set; }

    public string MinWidth { get; set; }

    public string MinHeight { get; set; }

    public string Width { get; set; }

    public string Height { get; set; }

    public string MustVisible { get; set; }

 

    public HtmlTag()

    {

    }

}


Source

using Newtonsoft.Json.Linq;

 

JObject tags = JObject.Parse(jsonStringInput);

 

// get JSON result objects into a list

IList<JToken> results = tags["TagList"].Children().ToList();

 

// serialize JSON results into .NET objects

IList<HtmlTag> tagList = new List<HtmlTag>();

 

foreach (JToken result in results)

{

    // JToken.ToObject is a helper method that uses JsonSerializer internally

    HtmlTag tag = result.ToObject<HtmlTag>();

    tagList.Add(tag);

}



>= .Net 4.0

public class HtmlTag

{

    public string ID { get; set; }

    public string PID { get; set; }

    public string TAG { get; set; }

    public string DataField { get; set; }

    public string DataDesc { get; set; }

    public string Title { get; set; }

    public string InputType { get; set; }

    public string Display { get; set; }

    public string Position { get; set; }

    public string Top { get; set; }

    public string Left { get; set; }

    public string MinWidth { get; set; }

    public string MinHeight { get; set; }

    public string Width { get; set; }

    public string Height { get; set; }

    public string MustVisible { get; set; }

 

    public HtmlTag()

    {

    }

}

public class Tags

{

    public List<HtmlTag> TagList { get; set; }

    public Tags() { }

}


using System.Web.Script.Serialization;

 

JavaScriptSerializer jss = new JavaScriptSerializer();

Tags tList = jss.Deserialize<Tags>(val);









Posted by motolies
,