json - 如何在golang中将从result(var)中获得的数据注入result1(var)
问题描述
- terraform.tfstate 是输入文件,packageservicelist.tf.json 是输出文件。
- 两者都转换为地图文件
- 我遍历的数据存储在结果中,我想将数据从结果复制到结果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)
}
解决方案
两者都result
具有来自不同来源result1
的密钥的价值。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
然后,当您写入时,将写入第一个文件中m1
的内容。package_service
推荐阅读
- jquery - 如何在jquery中覆盖身体的背景图像
- html - 显示 IIS 目录中所有图像的简单网页?
- python - get_absolute_url 在 django 1.7 中不起作用?
- linq - 在 LINQ 中组合 Where 和 Cast 的操作
- java - 如何使用整数参数组织对象
- ffmpeg - 将视频水平或垂直切成两半并稍后重新加入的命令
- python - 尝试将图像数据输入 DNNRegressor 时出现 ValueError
- groovy - Groovy - XmlSlurper - 计数节点
- opencv - 从 64 位切换到 32 位 openCV 时出现链接错误
- gitlab - 使用本地 Jekyll 安装测试 Gitlab 页面时集成静态内容