A Vue3 component that displays JSON in a collapsible tree. Inspired by vue-json-component and vue-json-tree-view to work with Vue3 and TypeScript.
<script setup lang="ts">
import { JsonTreeView } from "json-tree-view-vue3";
import 'json-tree-view-vue3/dist/style.css'
const json = `{"string":"text","number":123,"boolean":true,"null":null,"array":["A","B","C"],"object":{"prop1":"value1","nestedObject":{"prop2":"value2"}}}`
</script>
<template>
<JsonTreeView :json="json" :maxDepth="3" />
</template>
![image](https://private-user-images.githubusercontent.com/9543980/294720550-0d4d74bc-367d-4fd1-a47a-edfb857a6478.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwOTc1NjAsIm5iZiI6MTczOTA5NzI2MCwicGF0aCI6Ii85NTQzOTgwLzI5NDcyMDU1MC0wZDRkNzRiYy0zNjdkLTRmZDEtYTQ3YS1lZGZiODU3YTY0NzgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDlUMTAzNDIwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ODg5MzQ4NWYzOGE3YzI3NWMxNWRiYjg3Njg2ODc0OWY1NzNmMjUzNDE1NDgyYTAzMTlmZDgwN2I4NmY0MjdkOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.aOeELXjEXfjXhZMJtJeQXIzAhOmwZ7gEFKB2T9O9xVY)
Props | Required | Param Type | Default value | Description |
---|---|---|---|---|
json | true | string | JSON string to display the tree | |
rootKey | false | string | "/" | Top root-level name |
maxDepth | false | number | 1 | The depth of the tree that will be open when rendered |
colorScheme | false | string | "light" | "light" or "dark" can be used. |
- selected(event:
{key: string, value: PrimitiveTypes, path: string}
]