小编use*_*383的帖子

golang将接口数组转换为字符串

我从远程源读取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)

json interface decoding go

3
推荐指数
1
解决办法
5765
查看次数

问:golang指向map [string] interface {}

我(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)

json dictionary pointers interface go

1
推荐指数
1
解决办法
1782
查看次数

标签 统计

go ×2

interface ×2

json ×2

decoding ×1

dictionary ×1

pointers ×1