Go:将字符串数组转换为Json数组字符串

时间:2014-07-11 03:18:35

标签: json go

尝试在Go中将字符串数组转换为json字符串。但我得到的只是一系列数字。

我错过了什么?

package main

import (
    "fmt"
    "encoding/json"
)

func main() {
    var urls = []string{
        "http://google.com",
        "http://facebook.com",
        "http://youtube.com",
        "http://yahoo.com",
        "http://twitter.com",
        "http://live.com",
    }

    urlsJson, _ := json.Marshal(urls)
    fmt.Println(urlsJson)
}

Go Playground上的代码:http://play.golang.org/p/z-OUhvK7Kk

3 个答案:

答案 0 :(得分:7)

通过编组对象,您将获得表示JSON字符串的编码(字节)。如果你想要字符串,你必须将这些字节转换为字符串。

fmt.Println(string(urlsJson))

答案 1 :(得分:1)

另一种方法是直接使用os.Stdout.Write(urlsJson)

答案 2 :(得分:0)

您可以使用 stdout 输出编码器:

package main

import (
   "encoding/json"
   "os"
)

func main() {
   json.NewEncoder(os.Stdout).Encode(urls)
}

或字符串生成器:

package main

import (
   "encoding/json"
   "strings"
)

func main() {
   b := new(strings.Builder)
   json.NewEncoder(b).Encode(urls)
   print(b.String())
}

https://golang.org/pkg/encoding/json#NewEncoder

相关问题