{"id":340154,"date":"2021-02-07T13:01:08","date_gmt":"2021-02-07T05:01:08","guid":{"rendered":"http:\/\/4563.org\/?p=340154"},"modified":"2021-02-07T13:01:08","modified_gmt":"2021-02-07T05:01:08","slug":"json-marshal-%e5%a6%82%e4%bd%95%e5%8e%bb%e9%99%a4-interface%e5%a4%96%e5%b1%82%e7%9a%84","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=340154","title":{"rendered":"json.Marshal \u5982\u4f55\u53bb\u9664 interface{}\u5916\u5c42\u7684&#8221;[]&#8221;"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  json.Marshal \u5982\u4f55\u53bb\u9664 interface{}\u5916\u5c42\u7684&#8221;[]&#8221;               <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : jowan <\/span>  <span><i><\/i> 3<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\"> <\/p>\n<p>\u6570\u636e\u7ed3\u6784 1<\/p>\n<pre><code>type User struct {  Name string `json:\"name\"`  Age  int    `json:\"age\"` }  user1 := User{  Name: \"zhangsan\",  Age:  18, }  user2 := User{  Name: \"lisi\",  Age:  20, }  arr1 := []User{user1, user2} <\/code><\/pre>\n<p>\u6570\u636e\u7ed3\u6784 2<\/p>\n<pre><code>arr2 := []int{1, 2, 3, 4, 5} <\/code><\/pre>\n<p>\u5c01\u88c5\u8fd4\u56de<\/p>\n<pre><code>type JsonResponse struct {  Code int           `json:\"code\"`   Data interface{}   `json:\"data,omitempty\"` }  str, _ := json.Marshal(JsonResponse{  Code:    code,  Message: message,  Data:    data, })  <\/code><\/pre>\n<p>\u6570\u636e\u7ed3\u6784 1 \u671f\u5f85\u8fd4\u56de\u7684\u7ed3\u679c\u662f<\/p>\n<pre><code>{  \"code\": 0,  \"data\": [1, 2, 3, 4, 5] } <\/code><\/pre>\n<p>\u5b9e\u9645\u8fd4\u56de\u7684\u662f<\/p>\n<pre><code>{  \"code\": 0,  \"data\": [[1, 2, 3, 4, 5]] } <\/code><\/pre>\n<p>\u6570\u636e\u7ed3\u6784 2 \u671f\u5f85\u8fd4\u56de\u7684\u7ed3\u679c\u662f<\/p>\n<pre><code>{  \"code\": 0,  \"data\": [   {\"name\": \"zhangsan\", \"age\": 18},   {\"name\": \"lisi\", \"age\": 20}  ] } <\/code><\/pre>\n<p>\u5b9e\u9645\u8fd4\u56de\u7684\u7ed3\u679c\u662f<\/p>\n<pre><code>{  \"code\": 0,  \"data\": [     [       {         \"name\": \"zhangsan\",         \"age\": 18       },       {         \"name\": \"lisi\",         \"age\": 20       }     ]   ] } <\/code><\/pre>\n<p>data \u5916\u9762\u90fd\u4f1a\u5957\u4e00\u5c42[]<br \/> \u4f46\u662f data \u6570\u636e\u7c7b\u578b\u53c8\u4e0d\u662f\u56fa\u5b9a\u7684 \u6240\u4ee5\u7528\u5230\u4e86 interface{}<\/p>\n<p>\u521a\u63a5\u89e6 go \u5bf9 json \u5904\u7406\u4e0d\u592a\u719f\u6089 \u8fd8\u8bf7\u5404\u4f4d\u5927\u4f6c\u6307\u5bfc<\/p>\n<\/p><\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>6<\/span>)        <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li data-pid=\"5256869\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : jaynos <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4ee3\u7801\u4e0d\u5168\uff0c\u5e94\u8be5\u662f\u81ea\u5df1\u4ee3\u7801\u7684\u95ee\u9898\uff0c\u53ef\u4ee5\u770b\u4ee5\u4e0b\u4f8b\u5b50\u3002<br \/>&#8220;`go<br \/>package main<\/p>\n<p>import (<br \/> &#8220;encoding\/json&#8221;<br \/> &#8220;fmt&#8221;<br \/>)<\/p>\n<p>type JsonResponse struct {<br \/> Code int `json:&#8221;code&#8221;`<br \/> Data interface{} `json:&#8221;data,omitempty&#8221;`<br \/>}<\/p>\n<p>func main() {<br \/> data := []int{1, 2, 3, 4, 5}<br \/> bs, _ := json.Marshal(JsonResponse{<br \/> Code: 0,<br \/> Data: data,<br \/> })<br \/> \/\/ {&#8220;code&#8221;:0,&#8221;data&#8221;:[1,2,3,4,5]}<br \/> fmt.Printf(&#8220;%s&#8221;, bs)<br \/>}<br \/>&#8220;`<\/p>\n<p>\u8bdd\u8bf4\u76f4\u63a5\u65ad\u70b9\u8c03\u8bd5\u4e0b\u4e0d\u5c31\u77e5\u9053\u6570\u636e\u5bf9\u4e0d\u5bf9\u4e86                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5256870\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : daimazha <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u5199\u4e2a\u5b8c\u6574\u70b9\u7684\u4ee3\u7801\u53ef\u4ee5\u5417\uff1f \u4f60\u73b0\u5728\u7684\u4ee3\u7801\u5e94\u8be5\u8ddf\u4f60\u9884\u671f\u7684\u662f\u4e00\u6837\u7684                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5256871\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : jowan <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8c22\u8c22 \u6d4b\u8bd5 \u4f60\u8fd9\u6837\u786e\u5b9e\u6ca1\u95ee\u9898<br \/>\u4f46\u662f\u6211\u8fd9\u8fb9 \u8fd8\u6709\u4e00\u4e2a\u65b9\u6cd5 \u8c03\u7528 FormatJson() \u8fd9\u6837\u5c31\u4f1a\u591a\u4e00\u5c42[]<\/p>\n<p>&#8220;`<br \/>func FormatJson(code int, data interface{}) {<br \/> str, _ : = json.Marshal(JsonResponse{<br \/> Code: code,<br \/> Data: data,<br \/> })<br \/>}<br \/>&#8220;`                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5256872\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : jowan <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @daimazha \u662f\u7684 \u5982\u679c\u591a\u5957\u4e00\u5c42\u65b9\u6cd5\u5c31\u4f1a\u591a\u4e00\u5c42[]                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5256873\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : march1993 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             data \u5b9a\u4e49\u5462                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5256874\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xgfan <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u5199\u4e2a\u6700\u5c0f\u590d\u73b0\u7684 demo \u5427\u3002\u538b\u6839\u4e0d\u5b58\u5728\u4f60\u95ee\u7684\u95ee\u9898\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>json.Marshal \u5982\u4f55\u53bb\u9664&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/340154"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=340154"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/340154\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=340154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=340154"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=340154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}