JSON-TO-GO를 사용하면 GO 구조체 정의가 매우 간단합니다!
14538 단어 5
Teratail 질문 API
프로그래밍에 관한 질문을 할 수 있는 Teratail 에서는, API 를 제공하고 있습니다.
질문 일람에서는, 아래와 같은 리스폰스가 돌아온다고 하는 것입니다.
이것을 하나하나 Go의 구조체를 작성하는 것은 상당히 시간이 걸린다. .
{
"meta": {
"message": "success",
"total_page": 1,
"page": 1,
"limit": 10,
"hit_num": 2
},
"questions": [
{
"id": 10364,
"title": "インデントにタブを使うことのデメリット",
"created": "2015-05-27 04:49:55",
"modified": "2015-06-22 15:17:06",
"count_reply": 11,
"count_clip": 11,
"count_pv": 0,
"is_beginner": false,
"is_accepted": false,
"is_presentation": false,
"tags": [
"Eclipse",
"タブ",
"プログラミング言語",
"コーディング規約"
],
"user": {
"display_name": "miu_ras",
"photo": "https://cdn.teratail.com/uploads/avatars/15047/4DVbsgOW_thumbnail.jpg",
"score": 101
}
},
{
"id": 9399,
"title": "mysqlに格納された配列データで絞り込みをかけることはできるのでしょうか?",
"created": "2015-05-04 15:59:29",
"modified": "2015-05-04 15:59:29",
"count_reply": 2,
"count_clip": 0,
"count_pv": 0,
"is_beginner": true,
"is_accepted": true,
"is_presentation": false,
"tags": [
"MySQL"
],
"user": {
"display_name": "mendosa",
"photo": "https://tt4.leverages.org/uploads/avatars/13696/4WwsssAn_thumbnail.jpg",
"score": 7
}
}
]
}
거기서 사용하는 것이, JSON-To-GO .
바로 JSON-TO-GO에 붙여넣기
단순히 복사만 하면 구조체를 만들어 온다
인라인으로 중첩하면
type AutoGenerated struct {
Meta struct {
Message string `json:"message"`
TotalPage int `json:"total_page"`
Page int `json:"page"`
Limit int `json:"limit"`
HitNum int `json:"hit_num"`
} `json:"meta"`
Questions []struct {
ID int `json:"id"`
Title string `json:"title"`
Created string `json:"created"`
Modified string `json:"modified"`
CountReply int `json:"count_reply"`
CountClip int `json:"count_clip"`
CountPv int `json:"count_pv"`
IsBeginner bool `json:"is_beginner"`
IsAccepted bool `json:"is_accepted"`
IsPresentation bool `json:"is_presentation"`
Tags []string `json:"tags"`
User struct {
DisplayName string `json:"display_name"`
Photo string `json:"photo"`
Score int `json:"score"`
} `json:"user"`
} `json:"questions"`
}
중첩하지 않을 경우
type AutoGenerated struct {
Meta Meta `json:"meta"`
Questions []Questions `json:"questions"`
}
type Meta struct {
Message string `json:"message"`
TotalPage int `json:"total_page"`
Page int `json:"page"`
Limit int `json:"limit"`
HitNum int `json:"hit_num"`
}
type User struct {
DisplayName string `json:"display_name"`
Photo string `json:"photo"`
Score int `json:"score"`
}
type Questions struct {
ID int `json:"id"`
Title string `json:"title"`
Created string `json:"created"`
Modified string `json:"modified"`
CountReply int `json:"count_reply"`
CountClip int `json:"count_clip"`
CountPv int `json:"count_pv"`
IsBeginner bool `json:"is_beginner"`
IsAccepted bool `json:"is_accepted"`
IsPresentation bool `json:"is_presentation"`
Tags []string `json:"tags"`
User User `json:"user"`
}
Reference
이 문제에 관하여(JSON-TO-GO를 사용하면 GO 구조체 정의가 매우 간단합니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yNavS4Ki/items/32e5d43ae81e3ef2ce41텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)