code: func NewValueFromReader(reader io.Reader) (*Value, error) {
  	j := new(Value)
  	d := json.NewDecoder(reader)
  	d.UseNumber()
  	err := d.Decode(&j.data)
  	return j, err
  }
docs: // Creates a new value from an io.reader.
  // Returns an error if the reader does not contain valid json.
  // Useful for parsing the body of a net/http response.
  // Example: NewFromReader(res.Body)