Socket
Socket
Sign inDemoInstall

json-format-highlight

Package Overview
Dependencies
0
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    json-format-highlight

Format json and highlight it as well.


Version published
Weekly downloads
3.4K
increased by2.01%
Maintainers
1
Install size
9.88 kB
Created
Weekly downloads
 

Readme

Source

json-format-highlight

NPM version NPM downloads CircleCI

DEMO

Edit luyilin/json-format-highlight: codesandbox

Snapshot

Introduction

Format json and highlight it as well.

  • Really tiny
  • No dependency on other library
  • Handles HTML tags within field values
  • Handles quotes and other special characters within field values
  • Styling is self-contained, no need to setup CSS

Note:

  • May not be suitable for handling huge (such as 10MB) JSON.

Install

yarn add json-format-highlight --save

CDN: UNPKG | jsDelivr

Usage

In Node.js

import formatHighlight from 'json-format-highlight'

formatHighlight(json, colorOptions)

In HTML

<html>
    <head>
            <script src="//code.jquery.com/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
            <script src="//unpkg.com/json-format-highlight@1.0.1/dist/json-format-highlight.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <p>
            You can pass the URL in query parameter <code>url</code> of this page,
            then the JSON data would be fetched from that URL and displayed below:
        </p>
        <script>
            function getParameterByName(name) {
                name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
                var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'),
                    results = regex.exec(location.search);
                return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
            }
            $(function(){
                $.ajax(
                    {
                        'url': getParameterByName('url'),
                        type: 'GET',
                        dataType: 'json',
                        error: function(jqXHR, textStatus, error) {
                            var errMsg = '' + textStatus + ' (' + error + ')'
                            document.write('<pre>\n' + errMsg + '\n</pre>')
                        },
                        success: function(data, textStatus, jqXHR) {
                            var formatted = jsonFormatHighlight(data)
                            document.write('<pre>\n' + formatted + '\n</pre>')
                        }
                    }
                );
            })
        </script>
    </body>
</html>

Option

colorOptions

Type: object

Fields:

OptionTypeDefaultDesc
keyColorstringdimgrayKey color
numberColorstringlightskyblueColor of the value of the number type
stringColorstringlightcoralColor of the value of the string type
trueColorstringlightseagreenColor of the value of the boolean type and equals to true
falseColorstring#f66578Color of the value of the string type and equals to false
nullColorstringcornflowerblueColor of the value of the null type

If you don't pass in anything this argument, default colors would be used. If you do pass in an object for this argument, the colors you specified would override the default color scheme.

Feel free to use your own exclusive color scheme! :D

Below is an example color scheme that many people may like:

customColorOptions = {
    keyColor: 'black',
    numberColor: 'blue',
    stringColor: '#0B7500',
    trueColor: '#00cc00',
    falseColor: '#ff8080',
    nullColor: 'cornflowerblue'
};

License

MIT © luyilin

minemine.cc · GitHub @luyilin · Twitter @luyilin12

FAQs

Last updated on 18 Jan 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc