Comments (2)
Thanks, I'd only done enough on this library to make it work for my limited use case after I found that other libraries just plain didn't work, so I thought I should make the effort to try and get this working. 😂
I've added another pull request which should do the job for this, it will generate:
go run ./cmd/schema-generate/main.go -i ./cmd/issue6.json
package main
type Attributes struct {
Hostname string `json:"hostname,omitempty"`
Location string `json:"location,omitempty"`
OperatingSystem *OperatingSystem `json:"operating_system,omitempty"`
SerialNumber string `json:"serial_number,omitempty"`
}
type Links struct {
AssetId string `json:"asset_id,omitempty"`
Description string `json:"description,omitempty"`
Relationship string `json:"relationship,omitempty"`
}
type OperatingSystem struct {
Family string `json:"family,omitempty"`
Name string `json:"name,omitempty"`
Revision string `json:"revision,omitempty"`
Version string `json:"version,omitempty"`
}
type PhysicalServerAsset struct {
Attributes *Attributes `json:"attributes,omitempty"`
Links []Links `json:"links,omitempty"`
Tags []string `json:"tags,omitempty"`
}
I thought that the code should try and do a better job of avoiding the "Root" name, so it tries a few things. I've fixed up the casing so that computer_repair
becomes ComputerRepair
not Computerrepair
as it was before.
I've also dotted a few more comments around, it's been a while since I've used JSON schema or looked at this code!
What do you think?
Also, I hope you don't mind, but I've checked in your example as issue6.json
with the idea of maybe making a regression suite of files to add to the unit tests.
from generate.
It works great !
I can safely say that you support all my use cases, which covers a lot of the schema already.
Thanks a lot.
from generate.
Related Issues (20)
- feature: convert `description` to comment? HOT 1
- Values in "examples" (section 10.4) can be of any type HOT 1
- patternProperties is not supported HOT 3
- Regression in 485ac9 regarding generated variable names
- Support defaults via const and New() functions
- Nested structs are not created HOT 5
- Generate time.Time from string/date-time HOT 1
- Treat oneOf(a, null) as optional
- Issue when schema key having . (dot) in it HOT 3
- The object is named Root. HOT 1
- How do you use this?
- How to get property of type []byte? HOT 1
- Converting mkvmerge schema to Go silently generates incorrect code?
- Fails to generate metaschemas
- Custom `MarshalJSON()` ignores `omitempty`
- support for generating enum types
- Stack overflow on big schema file HOT 2
- Go Get is deprecated for installing as of Go 1.17 HOT 3
- Missing go.mod HOT 1
- suggestion for use the code
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 generate.