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

6
尝试在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个回答

14

通过调用此对象,您将获取表示 JSON 字符串的编码(字节)。如果您需要字符串,则必须将这些字节转换为字符串。

fmt.Println(string(urlsJson))

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

0
您可以使用标准输出编码器:
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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接