On Tuesday, 4 April 2017 13:54:34 UTC+3, dc0d wrote:
>
> Target: Assuming we want to deserialize some JSON dynamically and we want 
> to unmarshal some fields using specific unmarshaling code (a 
> certain UnmarshalJSON). The problem is using something like 
> map[string]interface{} there is no way to specify that.
>
> Thought Experiment: I like to have something like:
>
> ourUnmarshaler.AddField("name", func() json.Unmarshaler /* default field 
> creator for unmarshaling */, /* other options like omitempty */)
>
> or perhaps possibility of using:
>
> map[string]struct{
>     Name string
>     Constructor func() json.Unmarshaler
>     OmitEmpty bool
>     String bool
>     // ...
> }
>
> That would be the ideal thing. But is it possible to do so with current 
> builtin tools? Or some package?
>

https://play.golang.org/p/EP2F-__URO

If you need the field names to construct the data, do a separate pass over 
the data.
 

>
> Other notes:
> I've found gabs <https://github.com/Jeffail/gabs> but it does not what I 
> want. Some of my specific cases are big int64 values which should 
> serialized as string because they get converted to ugly float things and 
> some custom parsing for specific strings.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to