Comments (5)
@genez my guess is that I misunderstood the question, please correct me if so. There is JSON serialization/deserialization: https://github.com/emirpasic/gods#serialization
Let me know if that is what you are looking for?
from gods.
I am talking about standard json encoding/decoding facilities as provided by stdlib:
https://blog.golang.org/json-and-go
If your structs implement these two functions (MarshalJSON, UnmarshalJSON) we are able to recursively marshal struct that are embedding one of your data structures in a seamless way.
I hope it's clear enough, feel free to ask for more details.
from gods.
@genez I get your point, the marshalling would be easy to implement, because the logic is already there.
However, unmarshalling is a bit problematic, if you get a JSON array, what should it be unmarshalled to? ArrayList, LinkedList, Stack, etc.
from gods.
Go's marshal stdlib requires the actual struct instance (a pointer to) that must be of the required type.
Maybe I can try to implement one so it becomes clear.
from gods.
@genez please do, just one example, e.g. for ArrayList.
You can make use of the already implemented GoDS deserialization:
list := arraylist.New()
json := []byte(`["a","b"]`)
err := list.FromJSON(json)
from gods.
Related Issues (20)
- Add to Go official wiki? HOT 3
- generic upgrade request HOT 3
- RedBlackTree: Iterators become invalid after removing an element. HOT 2
- DS which can give element if present or next greater if not present, elements should be stored in sorted order HOT 2
- LinkedHashMap Sort? HOT 3
- Multiset support HOT 1
- deque support
- hashset should support NewWith Comparator
- Add method of Set lack info about the insert take place or not
- treeset:The names of each element are not equal, why is second_8 disappearing? HOT 1
- godslist.js refrence in chrome 120.0.6099.225 console
- Add elements of a slice [] T
- Red black tree: Unresolved reference 'NewWithIntComparator'
- Red black tree: package cmp is not in GOROOT (/usr/lib/golang/src/cmp)
- Interfaces support any types HOT 5
- Why cannot index priorityqueue.NewWith (value of type func(comparator utils.Comparator) *priorityqueue.Queue)? HOT 1
- A issue In BinaryHeap
- linkedhashmap json.Marshal error HOT 1
- treeset json.Unmarshal error HOT 1
- Update documention to use V2 version of generics
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 gods.