go语言字符串合并转json的相关问题

str1 :="平安银行,12.250,12.450,12.350"
str2 :="name,open,close,down"
小弟刚刚入手golang,求问下有两个字符串str1,str2想合并并转换成如下格式,请问该如何操作?感激不尽
{"name":"平安银行","open":"12.250","close":"12.450","down":"12.350"}

阅读 4.4k
2 个回答
package main

import (
    "encoding/json"
    "fmt"
    "strings"
)

type Json map[string]string

func main() {
    str1 := "平安银行,12.250,12.450,12.350"
    str2 := "name,open,close,down"

    str1_splited := strings.Split(str1, ",")
    str2_splited := strings.Split(str2, ",")

    fmt.Println(str1_splited, str2_splited)

    a := Json{}

    for i := 0; i < len(str2_splited); i++ {
        a[str2_splited[i]] = str1_splited[i]
    }

    s, _ := json.Marshal(a)

    fmt.Println(string(s))
}

输出:
[平安银行 12.250 12.450 12.350] [name open close down]
{"close":"12.450","down":"12.350","name":"平安银行","open":"12.250"}

package main

import (
    "encoding/json"
    "fmt"
    "strings"
)

func main() {
    str1 := "平安银行,12.250,12.450,12.350"
    str2 := "name,open,close,down"
    sep := ","
    s1 := strings.Split(str1, sep)
    s2 := strings.Split(str2, sep)
    if len(s1) != len(s2) {
        return
    }
    m := make(map[string]string)

    for i, v := range s2 {
        m[v] = s1[i]
    }

    result, err := json.Marshal(m)
    fmt.Printf("结果:%s, 错误:%v\n", result, err)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题