Q
圍棋在JSON
3
A
回答
4
爲了表示該類型具有值「空」它必須是一個指針。問題不是你不能使用null,而是一個字符串不能有這個值。這是我在操場上做的一個簡單例子。 https://play.golang.org/p/SXO5sBl2mR
package main
import "fmt"
import "encoding/json"
type Test struct {
A *string
B *string
}
func main() {
s := "Something"
t := Test{A:&s, B:nil}
b, err := json.Marshal(t)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(b))
}
由於DaveC使用指針制定者動初始化有點更麻煩提到的,但你可以使用相同類型的結構我有以上的;聲明一個字符串,使用&
該字符串在複合文字中。
+0
感謝您的評論並回答@evanmcdonnal – Chris
2
你將不得不使用*string
代替,並創建一個輔助函數,使其更容易,東西線沿線的:
func main() {
chiefTitles := []*string{sP("CEO"), sP("CFO"), nil, sP("CMO")}
b, _ := json.Marshal(JobTitles{chiefTitles})
fmt.Println(string(b))
}
type JobTitles struct {
Titles []*string `json:"titles"`
}
func sP(s string) *string {
return &s
}
+0
謝謝你的時間和幫助,這很有道理! – Chris
相關問題
- 1. 代表圍棋JSON政策
- 2. 格式JSON在圍棋壓痕
- 3. 在圍棋
- 4. 在圍棋
- 5. 凡在圍棋
- 6. 「網」在圍棋
- 7. 圍棋
- 8. 圍棋
- 9. 圍棋
- 10. 圍棋
- 11. 圍棋
- 12. 圍棋
- 13. 圍棋
- 14. 圍棋
- 15. 不能在圍棋
- 16. 圍棋 - JSON-RPC - 「太多的冒號」
- 17. 從圍棋
- 18. unsafe.Pointer爲[]圍棋
- 19. 解組圍棋
- 20. 與圍棋
- 21. 對於圍棋
- 22. 錯誤圍棋
- 23. 提高圍棋
- 24. 分叉(圍棋)
- 25. VAR VS:圍棋
- 26. strings.Split圍棋
- 27. 實現圍棋
- 28. 拆封圍棋
- 29. 圍棋:在派生類型
- 30. 在嵌入式stuct圍棋
在進入一個'string'不能'nil'(*不*'null')。 'Titles [] * string'會爲你工作嗎? (通過文字初始化會更難一些)。 –
你不能使用'null',因爲Go中的值是'nil',並且如果對於一個字符串,你不能使用它,它必須是一個字符串指針。 – evanmcdonnal
我改變了標題。對不起我的無知 - 不要對Go社區不敬!你能舉一個如何初始化這個例子嗎? – Chris