我从远程源读取JSON数据并将其转换为地图.我想要检查字符串值的数据中有一些数组.转换后我认为m ["t"]是一个接口数组.fmt.Print将其转换为控制台上的打印文本,但我无法想办法进行简单的字符串比较
if val[0] == "str-c" {fmt.Println("success")}
Run Code Online (Sandbox Code Playgroud)
我如何迭代并进行字符串比较?
package main
import (
"fmt"
"encoding/json"
)
func main() {
var m map[string]interface{}
sJSON := `{"k": "v", "t":["str-a","str-b","str-c"]}`
_ = json.Unmarshal([]byte(sJSON),&m)
// find out if one of the string values of "t" is "str-b"
fmt.Println(m["t"])
}
Run Code Online (Sandbox Code Playgroud) 我(golang newbie)我试图在一个函数中创建一个map [string] interfaces {}.代码编译并运行但地图为空.
package main
import (
"fmt"
"encoding/json"
)
func main() {
var f interface{}
var sJson string // JSON string from VT
var err error // errors
var b []byte // bytearray of JSON string
var rootMap map[string]interface{}
rootMap = make(map[string]interface{})
sJson=`{"key": "foo"}`
fmt.Println(sJson)
err = json2map(&b, &sJson, f, rootMap)
if err != nil { return }
switch v := rootMap["key"].(type) {
case float64:
fmt.Printf("Value: %d",v)
case string:
fmt.Printf("Value: %s", v)
case nil:
fmt.Println("key is nil") …Run Code Online (Sandbox Code Playgroud)