2016-12-11 94 views
-2

JSON表示我試圖創建一個從結構JSON字符串:創建從圍棋結構

package main 

import "fmt" 

func main() { 
    type CommentResp struct { 
     Id string `json: "id"` 
     Name string `json: "name"` 
    } 

    stringa := CommentResp{ 
     Id: "42", 
     Name: "Foo", 
    } 

    fmt.Println(stringa) 
} 

此代碼打印{42 foo},但我預計{"Id":"42","Name":"Foo"}

回答

9

你正在打印的是fmtCommentResp結構的序列化。相反,你想要做的就是使用json.Marshal獲得編碼的JSON repsentation:

data, err := json.Marshal(stringa) 
if err != nil { 
    // Problem encoding stringa 
    panic(err) 
} 
fmt.Println(string(data)) 

https://play.golang.org/p/ogWKQ3M6tb

此外,您json結構的標籤是無效的;不能有和引用字符串:之間的空間:

type CommentResp struct { 
    Id string `json:"id"` 
    Name string `json:"name"` 
} 

https://play.golang.org/p/eQiyTk6-vQ