0
  1. terraform.tfstate is the input file and packageservicelist.tf.json is the output file.
  2. Both are converted into Map Files
  3. The data which I traversed is stored in result & I want to copy the data from result to result1.
  4. Will Write operations works here. If yes . How ?
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)







}
GeekyBoy
  • 15
  • 6

1 Answers1

0

Both result and result1 have the value of the key package_service coming from different sources. You want to put result instead of result1. They, you have to write to that key:

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

Then when you write m1, the contents of the package_service from the first file will be written.

Burak Serdar
  • 46,455
  • 3
  • 40
  • 59