jbuilder
Version, currently 1.0.04 versions
- 1.0.0latestMar 28, 2021
- 0.3.0not indexedJan 14, 2025
- 0.2.0not indexedJan 14, 2025
- 0.1.0not indexedJan 14, 2025
github.com/shootingfly/jbuilder
Generate JSON objects with a Builder-style DSL, inspired by jbuilder
45 stars
2 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
jbuilder:
github: shootingfly/jbuilder
version: ~> 1.0.0Then run:
shards installshard.yml
- Crystal
1.0.0- License
- MIT
- Author
- shootingfly
Dependencies
This version declares no dependencies.
README
Jbuilder
Generate JSON objects with a Builder-style DSL, inspired by jbuilder (https://github.com/rails/jbuilder)
Installation
-
Add the dependency to your
shard.yml:dependencies: jbuilder: github: shootingfly/jbuilder -
Run
shards install
Usage
require "jbuilder"
First, write down the code.
Jbuilder.new do |json|
json.null nil
json.code 200
json.msg "ok"
json.merge!({"code" => 201})
json.array! "array1", [1, 1.0, "1"]
json.array!("array2", [1, 2, 3, 4]) do |json, item|
json.code item
end
json.data do |json|
json.code 400
json.array! "array3", [1, 1.0, "1"]
end
json.set!("custom_field", %w[1 2])
end.to_json
Then you can see,
{
"null":null,
"code":201,
"msg":"ok",
"array1":[
1,
1.0,
"1"
],
"array2":[
{
"code":1
},
{
"code":2
},
{
"code":3
},
{
"code":4
}
],
"data":{
"code":400,
"array3":[
1,
1.0,
"1"
]
},
"custom_field":[
"1",
"2"
]
}
An example using Kemal
https://github.com/shootingfly/kemal-jbuilder-example
Changelog
- v1.0.0
- Support Crystal 1.0.0
- v0.3.0
- Support Tuple and Named Tuple
- Support render with layout and child template
- v0.2.0
- Support Kilt
- v0.1.0
- First Release
Contributing
- Fork it (https://github.com/shootingfly/jbuilder/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Shooting Fly - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
1.0.0- Tagged
- Mar 28, 2021
- Commit
b8ab4591f35f- Crystal
1.0.0- Indexed
- yes
Dependents
Repository
github.com/shootingfly/jbuilder
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 22, 2026
- Synced
- Sep 22, 2026
- Versions
- 4