728x90
728x170

Json 문자열을 Deserialize 하여 사용할때 Class 로 만들면 접근하기가 좋다

헌데 복잡한 문자열은 Class 화 하기가 머리아픈데 아래 사이트가면 간단하게 만들수 있다.

 

http://json2csharp.com/

 

변환하면 RootObject Class 가 가장 상위단의 Class 이며 RootObject 로 DeserializeObject 하면 된다.

RootObject data= JsonConvert.DeserializeObject<RootObject>(jsonString);

 

예시 (카카오 쳇봇 중)

{
  "message": {
    "text": "귀하의 차량이 성공적으로 등록되었습니다. 축하합니다!",
    "photo": {
      "url": "https://photo.src",
      "width": 640,
      "height": 480
    },
    "message_button": {
      "label": "주유 쿠폰받기",
      "url": "https://coupon/url"
    }
  },
  "keyboard": {
    "type": "buttons",
    "buttons": [
      "처음으로",
      "다시 등록하기",
      "취소하기"
    ]
  }
}

변환

public class Photo
{
    public string url { get; set; }
    public int width { get; set; }
    public int height { get; set; }
}

public class MessageButton
{
    public string label { get; set; }
    public string url { get; set; }
}

public class Message
{
    public string text { get; set; }
    public Photo photo { get; set; }
    public MessageButton message_button { get; set; }
}

public class Keyboard
{
    public string type { get; set; }
    public List<string> buttons { get; set; }
}

public class RootObject
{
    public Message message { get; set; }
    public Keyboard keyboard { get; set; }
}

728x90
그리드형
Posted by kjun
,