1.0.0 • Published 5 years ago

dl-json-viewer v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

JSON Viewer for Angular

A module which renders or displays a JSON object in proper indentation (or beautified form) in an Angular application.

Build

Run ng build dl-json-viewer to build the project. The build artifacts will be stored in the projects/dl-json-viewer/dist/ directory.

Installation

NPM

npm i dl-json-viewer-angular

Usage

Import

Add DLJSONViewerModule to your application's or module's imports. For example to import the module to your application, app.module.ts should have the following:

import { DLJsonViewerModule } from 'dl-json-viewer';
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    DLJsonViewerModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})

Use

Add the lib-dl-json-viewer directive/element to your component with the appropriate inputs to render the object.

<lib-dl-json-viewer [obj]="jsonObj" [tab-space]="4" [config]="config"></lib-dl-json-viewer>

The above code snippet will show the object jsonObj (in the current component's members) with an indentation of 4 spaces.

Component Inputs

InputTypeDescription
objanyThe JSON object or array or native to be rendered by the component.
tab-spacenumberThe number of spaces to use for indentation.
configanyThe configuration object. See Configuration for more information.

Configuration

The configuration object contains the following properties:

PropertyTypeDescription
markerobjectThe object which contains strings to demarcate an object or array.
marker.arrayobjectThe object which contains strings to demarcate an array.
marker.arrayobjectThe object which contains strings to demarcate an object.
marker.array.separatorstringThe string which separates elements in an array.
marker.array.openstringThe string which indicates the start of an array.
marker.array.closestringThe string which indicates the end of an array.
marker.object.separatorstringThe string which separates elements (key-value pair) in an object.
marker.object.keyValueSeparatorstringThe string which separates the key from value in an element.
marker.object.openstringThe string which indicates the start of an object.
marker.object.closestringThe string which indicates the end of an object.

Below is the object structure and the default values:

const DefaultConfig: any = {
    "markers": {
        "array": {
            "separator": ",",
            "open": "[",
            "close": "]"
        },
        "object": {
            "separator": ",",
            "open": "{",
            "close": "}",
            "keyValueSeparator": ":"
        }
    }
};

The default values for the configuration is the DefaultConfig object which can be found in the default.config.ts file.

Demo

This application is a demonstration of the use of the component. The app component contains the jsonObj field which is passed as input to json of the component. This object is bound (two-way) to the text-area input in the view, so when there is text input in the text-area and the View button is clicked then the viewJSON method in the app component is called which updates the input of the JSON viewer component and the object is then rendered in the view. To run the application use the Angular CLI command:

ng serve

Documentation

The documentation for this project is generated using Compodoc tool. You can find the documentation at doc/index.html.