Comments (2)
I think this issue fits nicely into why i had to fork this library as well, i wonder if you could say something about whether you see this library support something like the PR #118 contains @fatih ? My main issue is that nested structs either get ignored, or unmarshalls all of it's children instead of adding the option to evaluate it to a single field.
I have seen suggestions to use the structs:",string"
which will use the stringer interface on the struct calling the method String()
If i owned all of the structs i wanted to call the Values(interface{})
method on, it would be no problem, but if we take sql.NullString
as an example the suggestion would be to do a type alias like
type SQLNullString sql.NullString
type Bar struct {
SomeString SQLNullString `structs:",string"`
}
func (sns *SQLNullString) String() string {
return sns.String()
}
This code has a error because sql.NullString
already has a public field String
so you cannot create a String()
method on it's type alias.
In our fork omnioiot/structs
we changed the Values() method to have something like this for the sql.NullX
, in this case just the sql.NullString as an example:
if tagOpts.Has("nullstring") {
sqlNullString, ok := val.Interface().(sql.NullString)
if ok {
value, err := sqlNullString.Value()
if err == nil {
t = append(t, value)
} else {
panic(err)
}
}
continue
}
I think that @FX-HAO has a PR #118, but as i commented on that PR it doesn't seem to work on structs, only maps.
from structs.
Hi,
Unfortunately, I'm archiving this project and will no longer maintaining it. For more information, please read my blog post: Taking an indefinite sabbatical from my projects.
Thanks for the feedback and contribution.
from structs.
Related Issues (20)
- Custom Map function HOT 1
- Report fields of anonymous fields HOT 2
- stack overflow on structs.Map() HOT 1
- Add Addr method for Field HOT 1
- structs.Map return empty map HOT 3
- Range over nested slice of structs (using fields) HOT 3
- structs.Values() does not parse time.Time field HOT 2
- Why don't cache type information that has been reflected ? HOT 1
- Nested reflection? HOT 1
- How about add a api for convert map to structs? HOT 3
- Changing case of field name(key) in the generated map HOT 3
- Versions and tags HOT 4
- Proposal: Create a map and omit nil values HOT 3
- Nested structs HOT 1
- Get tag-value without omitempty HOT 2
- New() with options HOT 2
- I get empty return for this HOT 1
- panic when using both flatten and omitempty HOT 1
- Values that are structs lose their tags HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from structs.