Crate egui_json_tree
source ·Expand description
An interactive JSON tree visualiser for egui
, with search and highlight functionality.
use egui::{Color32};
use egui_json_tree::{DefaultExpand, JsonTree, JsonTreeStyle};
let value = serde_json::json!({ "foo": "bar", "fizz": [1, 2, 3]});
// Simple:
JsonTree::new("simple-tree", &value).show(ui);
// Customised:
let response = JsonTree::new("customised-tree", &value)
.style(JsonTreeStyle {
bool_color: Color32::YELLOW,
..Default::default()
})
.default_expand(DefaultExpand::All)
.response_callback(|response, json_pointer_string| {
// Handle interactions within the JsonTree.
})
.abbreviate_root(true) // Show {...} when the root object is collapsed.
.show(ui);
// Reset the expanded state of all arrays/objects to respect the `default_expand` setting.
response.reset_expanded(ui);
JsonTree
can visualise any type that implements ToJsonTreeValue
.
Implementations to support serde_json::Value
(enabled by default by the crate feature serde_json
)
and simd_json::owned::Value
(optionally enabled by the crate feature simd_json
)
are provided with this crate.
If you wish to use a different JSON type, see the value
module,
and disable default features in your Cargo.toml
if you do not need the serde_json
dependency.
Modules§
- Representation of JSON values for presentation purposes.
Structs§
- An interactive JSON tree visualiser.
- The response from showing a
JsonTree
. - Contains coloring parameters for JSON syntax highlighting, and search match highlighting.
Enums§
- Configuration for how a
JsonTree
should expand arrays and objects by default.