title: why golang json number can't convert int or string int like "10"?
body: <p>I want convert interface value to number, but when interface is number or number string, it will not work, I do not know why we can't convert by this way?    </p>
  
  <pre><code>package main
  
  import (
      "encoding/json"
      "fmt"
      "reflect"
  )
  
  func main() {
      number := 10
      strNumber := "10"
      test(number)
      test(strNumber)
  }
  
  func test(i interface{}) {
      strNum, ok := i.(json.Number)
      fmt.Println(strNum, ok, reflect.TypeOf(i))
  }
  </code></pre>
  
  <p>It will produce result like this:</p>
  
  <pre><code>   false int
     false string
  </code></pre>