gpt4 book ai didi

json - 如何在golang中将从result(var)中获得的数据注入(inject)result1(var)

转载 作者:行者123 更新时间:2023-12-01 22:27:09 24 4
gpt4 key购买 nike

  • terraform.tfstate 是输入文件,packageservicelist.tf.json 是输出文件。
  • 两者都转换为 map 文件
  • 我遍历的数据存储在结果中,我想将数据从结果复制到结果1。
  • Will Write 操作在这里有效。如是 。如何 ?
  • package main

    import (
    "fmt"
    "io/ioutil"
    "encoding/json"
    )

    func main() {
    //File Reading terraform.tfstate

    data, err := ioutil.ReadFile("terraform.tfstate")
    if err != nil {
    //fmt.Println("File reading error", err)
    return
    }
    // Map is save in m
    m := make(map[string]interface{})
    json.Unmarshal(data, &m)
    result:= m["resources"].([]interface{})[0].(map[string]interface{})["instances"].([]interface{})[0].(map[string]interface{})["attributes"].(map[string]interface{})["packaged_service_list"].([]interface{})[0].(map[string]interface{})["package_service"]
    fmt.Println(result)

    //File Reading packageservicelist.tf.json

    data1, err :=ioutil.ReadFile("./linear/packageservicelist.tf.json")
    if err != nil {
    fmt.Println("File reading error", err)
    return
    }

    m1 := make(map[string]interface{})
    json.Unmarshal(data1, &m1)
    fmt.Println("\n")
    result1:= m1["resource"].(map[string]interface{})["api_packageservicelist"].(map[string]interface{})["packageservicelist"].(map[string]interface{})["packaged_service_list"].(map[string]interface{})["package_service"]
    fmt.Println(result1)







    }

    最佳答案

    两个resultresult1有键值package_service来自不同的来源。你想把 result而不是 result1 .他们,你必须写到那个键:

    m1["resource"].(map[string]interface{})["api_packageservicelist"].(map[string]interface{})["packageservicelist"].(map[string]interface{})["packaged_service_list"].(map[string]interface{})["package_service"]=result

    那么当你写 m1package_service 的内容从第一个文件将被写入。

    关于json - 如何在golang中将从result(var)中获得的数据注入(inject)result1(var),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59324236/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com