{"rsdb":{"rid":"353708","subhead":"","postdate":"0","aid":"250872","fid":"78","uid":"1","topic":"1","content":"
\n

\u5728\u5904\u7406json\u683c\u5f0f\u5b57\u7b26\u4e32\u7684\u65f6\u5019\uff0c\u7ecf\u5e38\u4f1a\u770b\u5230\u58f0\u660estruct\u7ed3\u6784\u7684\u65f6\u5019\uff0c\u5c5e\u6027\u7684\u53f3\u4fa7\u8fd8\u6709\u53cd\u5f15\u53f7\u62ec\u8d77\u6765\u7684\u5185\u5bb9\u3002\u5f62\u5982\uff1a<\/p> \n

\n
1<\/span> type User struct<\/span> {\r\n<\/span>2<\/span>     UserId   int<\/span>    `json:"<\/span>user_id<\/span>"<\/span> bson:"<\/span>user_id<\/span>"<\/span>`\r\n<\/span>3<\/span>     UserName string<\/span> `json:"<\/span>user_name<\/span>"<\/span> bson:"<\/span>user_name<\/span>"<\/span>`\r\n<\/span>4<\/span> }<\/pre> \n <\/div> \n 

struct\u6210\u5458\u53d8\u91cf\u6807\u7b7e\uff08Tag\uff09\u8bf4\u660e<\/h3> \n

\u8981\u6bd4\u8f83\u8be6\u7ec6\u7684\u4e86\u89e3\u8fd9\u4e2a\uff0c\u8981\u5148\u4e86\u89e3\u4e00\u4e0bgolang<\/a>\u7684\u57fa\u7840\uff0c\u5728golang<\/a>\u4e2d\uff0c\u547d\u540d\u90fd\u662f\u63a8\u8350\u90fd\u662f\u7528\u9a7c\u5cf0\u65b9\u5f0f\uff0c\u5e76\u4e14\u5728\u9996\u5b57\u6bcd\u5927\u5c0f\u5199\u6709\u7279\u6b8a\u7684\u8bed\u6cd5\u542b\u4e49\uff1a\u5305\u5916\u65e0\u6cd5\u5f15\u7528\u3002\u4f46\u662f\u7531\u7ecf\u5e38\u9700\u8981\u548c\u5176\u5b83\u7684\u7cfb\u7edf\u8fdb\u884c\u6570\u636e\u4ea4\u4e92\uff0c\u4f8b\u5982\u8f6c\u6210json\u683c\u5f0f\uff0c\u5b58\u50a8\u5230mongodb\u554a\u7b49\u7b49\u3002\u8fd9\u4e2a\u65f6\u5019\u5982\u679c\u7528\u5c5e\u6027\u540d\u6765\u4f5c\u4e3a\u952e\u503c\u53ef\u80fd\u4e0d\u4e00\u5b9a\u4f1a\u7b26\u5408\u9879\u76ee\u8981\u6c42\u3002<\/p> \n

\u6240\u4ee5\u5462\u5c31\u591a\u4e86\u53cd\u5f15\u53f7\u7684\u5185\u5bb9\uff0c\u5728golang\u4e2d\u53eb\u6807\u7b7e\uff08Tag\uff09\uff0c\u5728\u8f6c\u6362\u6210\u5176\u5b83\u6570\u636e\u683c\u5f0f\u7684\u65f6\u5019\uff0c\u4f1a\u4f7f\u7528\u5176\u4e2d\u7279\u5b9a\u7684\u5b57\u6bb5\u4f5c\u4e3a\u952e\u503c\u3002\u4f8b\u5982\u4e0a\u4f8b\u5728\u8f6c\u6210json\u683c\u5f0f\uff1a<\/p> \n

\n
1<\/span> u := &User{UserId: 1<\/span>, UserName: "<\/span>tony<\/span>"<\/span>}\r\n<\/span>2<\/span> j, _ := json.Marshal(u)\r\n<\/span>3<\/span> fmt.Println(string<\/span>(j))

<\/pre> \n

\/\/ \u8f93\u51fa\u5185\u5bb9\uff1a<\/p> \n

\/\/ {"user_id":1,"user_name":"tony"}<\/p> \n

\/\/ \u5982\u679c\u5728\u5c5e\u6027\u4e2d\u4e0d\u589e\u52a0\u6807\u7b7e\u8bf4\u660e\uff0c\u5219\u8f93\u51fa\uff1a<\/em><\/p> \n

\/\/ {"UserId":1,"UserName":"tony"}
\/\/ \u53ef\u4ee5\u770b\u5230\u76f4\u63a5\u7528struct\u7684\u5c5e\u6027\u540d\u505a\u952e\u503c\u3002<\/p> \n

\/\/ ==\u5176\u4e2d\u8fd8\u6709\u4e00\u4e2abson\u7684\u58f0\u660e\uff0c\u8fd9\u4e2a\u662f\u7528\u5728\u5c06\u6570\u636e\u5b58\u50a8\u5230mongodb\u4f7f\u7528\u7684==<\/p> \n <\/div> \n

struct\u6210\u5458\u53d8\u91cf\u6807\u7b7e\uff08Tag\uff09\u83b7\u53d6<\/h3> \n

\u90a3\u4e48\u5f53\u6211\u4eec\u9700\u8981\u81ea\u5df1\u5c01\u88c5\u4e00\u4e9b\u64cd\u4f5c\uff0c\u9700\u8981\u7528\u5230Tag\u4e2d\u7684\u5185\u5bb9\u65f6\uff0c\u548b\u6837\u53bb\u83b7\u53d6\u5462\uff1f\u8fd9\u8fb9\u53ef\u4ee5\u4f7f\u7528\u53cd\u5c04\u5305\uff08reflect\uff09\u4e2d\u7684\u65b9\u6cd5\u6765\u83b7\u53d6\uff1a<\/p> \n

\n
1<\/span> t := reflect.TypeOf(u)\r\n<\/span>2<\/span> field := t.Elem().Field(0<\/span>)\r\n<\/span>3<\/span> fmt<\/span>.Println(field.Tag.Get("<\/span>json<\/span>"<\/span>))\r\n<\/span>4<\/span> fmt<\/span>.Println(field.Tag.Get("<\/span>bson<\/span>"<\/span>))<\/pre> \n <\/div> \n 

\u5b8c\u6574\u4ee3\u7801\u5982\u4e0b\uff1a<\/p> \n

\n
 1<\/span> package main\r\n<\/span> 2<\/span>  \r\n 3<\/span> import (\r\n<\/span> 4<\/span>     "<\/span>encoding\/json<\/span>"<\/span>\r\n 5<\/span>     "<\/span>fmt<\/span>"<\/span>\r\n 6<\/span>     "<\/span>reflect<\/span>"<\/span>\r\n 7<\/span> )\r\n<\/span> 8<\/span>  \r\n 9<\/span> func main() {\r\n<\/span>10<\/span>     type User struct<\/span> {\r\n<\/span>11<\/span>         UserId   int<\/span>    `json:"<\/span>user_id<\/span>"<\/span> bson:"<\/span>user_id<\/span>"<\/span>`\r\n<\/span>12<\/span>         UserName string<\/span> `json:"<\/span>user_name<\/span>"<\/span> bson:"<\/span>user_name<\/span>"<\/span>`\r\n<\/span>13<\/span>     }\r\n<\/span>14<\/span>     \/\/<\/span> \u8f93\u51fajson\u683c\u5f0f<\/span>\r\n15<\/span>     u := &User{UserId: 1<\/span>, UserName: "<\/span>tony<\/span>"<\/span>}\r\n<\/span>16<\/span>     j, _ := json.Marshal(u)\r\n<\/span>17<\/span>     fmt.Println(string<\/span>(j))\r\n<\/span>18<\/span>     \/\/<\/span> \u8f93\u51fa\u5185\u5bb9\uff1a{"user_id":1,"user_name":"tony"}\r\n<\/span>19<\/span>  \r\n20<\/span>     \/\/<\/span> \u83b7\u53d6tag\u4e2d\u7684\u5185\u5bb9<\/span>\r\n21<\/span>     t := reflect.TypeOf(u)\r\n<\/span>22<\/span>     field := t.Elem().Field(0<\/span>)\r\n<\/span>23<\/span>     fmt.Println(field.Tag.Get("<\/span>json<\/span>"<\/span>))\r\n<\/span>24<\/span>     \/\/<\/span> \u8f93\u51fa\uff1auser_id<\/span>\r\n25<\/span>     fmt.Println(field.Tag.Get("<\/span>bson<\/span>"<\/span>))\r\n<\/span>26<\/span>     \/\/<\/span> \u8f93\u51fa\uff1auser_id<\/span>\r\n27<\/span> }<\/pre> \n <\/div> \n 

\u81ea\u5b9a\u4e49tag<\/h3> \n
\n
1<\/span> type User struct<\/span> {\r\n<\/span>2<\/span>     UserId   int<\/span>    `json:"<\/span>user_id<\/span>"<\/span> bson:"<\/span>user_id<\/span>"<\/span> test:"<\/span>test<\/span>"<\/span>`\r\n<\/span>3<\/span>     UserName string<\/span> `json:"<\/span>user_name<\/span>"<\/span> bson:"<\/span>user_name<\/span>"<\/span>`\r\n<\/span>4<\/span> }<\/pre> \n <\/div> \n 

\u83b7\u53d6tag\u4e2dtest\u7684\u503c<\/p> \n

\n
1<\/span> \/\/<\/span> \u83b7\u53d6tag\u4e2d\u7684\u5185\u5bb9<\/span>\r\n2<\/span> typeof<\/span> := reflect.TypeOf(u)\r\n<\/span>3<\/span> field := typeof<\/span>.Elem().Field(0<\/span>)\r\n<\/span>4<\/span> fmt.Println(field.Tag.Get("<\/span>json<\/span>"<\/span>))\r\n<\/span>5<\/span> \/\/<\/span> \u8f93\u51fa\uff1auser_id<\/span>\r\n6<\/span> fmt.Println(field.Tag.Get("<\/span>bson<\/span>"<\/span>))\r\n<\/span>7<\/span> \/\/<\/span> \u8f93\u51fa\uff1auser_id<\/span>\r\n8<\/span> fmt.Println(field.Tag.Get("<\/span>test<\/span>"<\/span>))\r\n<\/span>9<\/span> \/\/<\/span> \u8f93\u51fa\uff1atest<\/span><\/pre> \n <\/div> \n 

 <\/p> \n<\/div>","orderid":"0","title":"GO \u5168\u9762\u89e3\u6790 json tag \u7bc7","smalltitle":"","mid":"0","fname":"GO","special_id":"0","bak_id":"0","info":"0","hits":"86","pages":"1","comments":"0","posttime":"2019-09-17 14:52:00","list":"1568703120","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"\u5168\u9762<\/A> \u89e3\u6790<\/A> json<\/A> tag\u7bc7<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"14.17.22.35","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"GO \u5168\u9762\u89e3\u6790 json tag \u7bc7","lastview":"1714052745","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}