title: JSON golang boolean omitempty
body: <p>I'm having issues with writing a golang library for an api. The json aspect of booleans is causing issues. </p>
  
  <p>Let's say the default value of a boolean is true for an api call.</p>
  
  <p>If I do </p>
  
  <pre><code>SomeValue bool `json:some_value,omitempty`
  </code></pre>
  
  <p>and I don't set the value through the library, the value will be set to true. If I set the value to false in the library, omitempty says that a false value is an empty value so the value will stay true through the api call.</p>
  
  <p>Let's take out the omitempty and have it look like this </p>
  
  <pre><code>SomeValue bool `json:some_value`
  </code></pre>
  
  <p>Now I have the opposite issue, I can set the value to false but if I don't set the value then the value will be false even though I expect it to be true. </p>
  
  <p>Edit: How do I maintain the behavior of not having to set the value to true while also being able to set the value to false?</p>