title: Editing Json in Go without Unmarshalling into Structs First
body: <p>I am having a bit of an issue. So I am writing a tool in go that works with some json files. 
  The way the tool works is the devops member who is using it is supposed to upload their json file into the specified folder within the project and then that json file is used from there to deploy an api in api-gateway (the json is actually a swagger with extensions but that isn't particularly important to my question)</p>
  
  <p>The issue I am having is I need to update ONE line in the json. Each file passed in will be different, but it is guaranteed to have a url in the same spot every time, just due to the nature of the project. I need to update this url in an automated fashion.</p>
  
  <p>Due to the fact the json files are different, setting up hard coded structs and unmarshalling in order to edit is out of the question. The objective is for the devops members to not even have to go into the code, but rather just to deploy their files, which is the reason I was hoping for this to be automated.</p>
  
  <p>So far my research has yielded nothing. It appears that Go only supports editing json if it is first unmarshaled into structs (see <a href="https://stackoverflow.com/questions/43713952/modifying-json-file-using-golang">Modifying JSON file using Golang</a>). Is there a way to edit without the structs if i know for a fact what I am looking for will always be available within the json, despite each file being different?</p>
  
  <p>This is only my first month using go, so there may be a simple solution. I have seen some mention of scanners from the megajson library, but I cannot seem to get that to work either</p>
  
  <pre><code>{
  "paths": {
      "/account": {
          "post": {
              "something": "body",
              "api": {
                  "uri": "http://thisiswhereineedtoedit.com"
              }
          }
      }
  }
  </code></pre>
  
  <p>}</p>