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

Trying to convert a strings array to a json string in Go. But all I get is an array of numbers.

What am I missing?

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)
}

Code on Go Playground: http://play.golang.org/p/z-OUhvK7Kk

By marshaling the object, you are getting the encoding (bytes) that represents the JSON string. If you want the string, you have to convert those bytes to a string.

fmt.Println(string(urlsJson))

Another way is to use directly os.Stdout.Write(urlsJson)