https://github.com/nicolasparada/go-ordered-map
Golang: map which keeps order even after JSON/YAML marshalling
https://github.com/nicolasparada/go-ordered-map
json map orderered sorted yaml
Last synced: over 1 year ago
JSON representation
Golang: map which keeps order even after JSON/YAML marshalling
- Host: GitHub
- URL: https://github.com/nicolasparada/go-ordered-map
- Owner: nicolasparada
- License: isc
- Created: 2024-02-10T18:26:32.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-12T18:12:53.000Z (over 2 years ago)
- Last Synced: 2024-04-13T20:52:07.796Z (about 2 years ago)
- Topics: json, map, orderered, sorted, yaml
- Language: Go
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://pkg.go.dev/github.com/nicolasparada/go-ordered-map)
# Golang Ordered Map
Golang Ordered Map is a `map` data structure that maintains the order of the keys.
It also supports JSON and YAML marshalling.
## Installation
```bash
go get github.com/nicolasparada/go-ordered-map
```
## Usage
```go
package main
import (
orderedmap "github.com/nicolasparada/go-ordered-map"
)
func main() {
data := []byte(`{ "name": "John", "age": 30, "active": true }`)
var unordered map[string]any{}
if err := json.Unmarshal(data, &unordered); err != nil {
panic(err)
}
var ordered orderedmap.OrderedMap[string, any]
if err := json.Unmarshal(data, &ordered); err != nil {
panic(err)
}
json.NewEncoder(os.Stdout).Encode(unordered) // will print in undefined order
json.NewEncoder(os.Stdout).Encode(ordered) // will always print: {"name":"John","age":30,"active":true}
}
```