Advanced JSON Tools

     Mode:  None Selected
RESULTS
{ "test": "value1", "test2": "value2", "test3": { "test4": 1234, "test5": 5678, "test6": true, "test7": [ 1, 2, 3 ], "test8": [ { "a1": "vb1", "a2": "va2", "a3": "vc3" }, { "a1": "vb11", "a2": "va22", "a3": "vc33" }, { "a1": "vb1111", "a2": "va2222", "a3": "vc3333" } ] } }
Length:

Default Text Mode

No tool active. Basic text editing

Key/Attribute Instructions

1. Select any key/attribute (e.g. city):

Example 1:
{ 
  "age": 25,
  "name": "Jonathan",
  "location": 
  {
    "city": "Montreal",
    "province": "Quebec"
  }
}

2. Results:

{ 
  "level": "1",
  "path": "<object>.location.city"	
}

LEGEND:

level
Current level of the selected key/attribute
path
Access expression when used in code

JSON Object Info Instructions

Click anywhere and the surrounding JSON object will be analyzed. Information returned is the immediate object unless "Recursive" is selected, in which all levels are scanned

Example 1:

Clicking "city" returns the inner object
{ 
  "age": 25,
  "name": "Jonathan",
  "location": {
    "city": "Montreal",
    "province": "Quebec"
  }
}

Example 2:

Clicking "name" returns the entire object but the analysis does not include any inner-objects unless "Recursive" is checked off
{ 
  "age": 25,
  "name": "Jonathan",
  "location": 
  {
    "city": "Montreal",
    "province": "Quebec"
  }
}

LEGEND:

Using the "city" example:
{
  "currentLevel": 2,	// Current Cursor Level (entire Object)
  "deepestLevel": 2,	// Lowest Level (entire Object)
  "attributeCount": 2,	// Number of attributes
  "dataTypesCount":	// Data Type of the attributes
  {
    "Array": 0,
    "String": 2,
    "Number": 0,
    "Boolean": 0,
    "Object": 0
  }
}

DETAILS:

attributeCount
If "Recursive" is not checked, this only counts the attributes on the same level
dataTypesCount
If "Recursive" is not checked, this only reports the data types of the attributes on the same level

JSON Shell Instructions

Click anywhere and the surrounding JSON object will be used for the shell generation.

Example 1:

Clicking "city" returns the inner object
{ 
  "age": 25,
  "name": "Jonathan",
  "location": 
  {
    "city": "Montreal",
    "province": "Quebec"
  }
}

Results In:

{
  "city": "",
  "province": ""
}

Example 2:

Clicking "name" returns the entire object
{ 
  "age": 25,
  "name": "Jonathan",
  "location": 
  {
    "city": "Montreal",
    "province": "Quebec"
  }
}

Results In:

{ 
  "age": "",
  "name": "",
  "location": {
    "city": "",
    "province": ""
  }
}

Instructions

Select any attribute/key that represents an Array:
Example 1:
{ 
  "age": 25,
  "name": "Jonathan",
  "location": 
  {
    "city": "Montreal",
    "province": "Quebec",
    "contacts": [
      {
        "type": "phone",
        "contact": "514-298-2987"
      },
      {
        "type": "fax",
        "contact": "514-982-7829"
      },
      {
        "type": "email",
        "contact": "allisonchevalier@jsonshaper.com"
      }
    ] 
  }
}

LEGEND:

arrayLength
Number of items in the selected array
arrayDataType
Objects or Primitives
arrayObjectInfo
Information about the objects in the array
exactKeyCount
True if every object in the array has the exact same number of keys.
keyCount
Number of keys in each object (if exactKeycount is 'true')
keyCountMin
Minimum number of keys for all object (if exactKeycount is 'false')
keyCountMax
Maximum number of keys for all object (if exactKeycount is 'false')
skippedKeys
keys with non-primitive values are skipped
keyInfo
Name / Value Lengths of each key


Detailed Usage:

There are several modes/tools available here. To begin, click on one of the tools above and more instructions will be displayed:


  Text Mode

Standard text editing mode, no tools active.

  Key/Pair Information

Provides information on the selected key/attribute including an usage/access path (similar to XPATH, how to use it in Javascript)

  JSON Information

Provides an analysis of a JSON object including attribute count, and datatypes.

  Shell Information

Provides an empty JSON shell (without values) of the selected JSON object. Useful for clearing a large object of values.

  Array Tool Information

Provides information of the selected Array including the count of objects, min/max values of attributes within each array object, and more.