Improve this Doc View Source

Allows you to convert a JavaScript object into JSON string.

This filter is mostly useful for debugging. When using the double curly {{value}} notation the binding is automatically converted to JSON.

## Usage

### In HTML Template Binding

    {{ json_expression | json : spacing}}

### In JavaScript

    $filter('json')(object, spacing)

### Arguments

Param | Type | Details
--- | --- | ---
object | * | Any JavaScript object (including arrays and primitive types) to filter.
spacing (optional) | number | The number of spaces to use per indentation, defaults to 2.

### Returns

string | JSON string.

## Example

Edit in Plunker

    <pre id="default-spacing">{{ {'name':'value'} | json }}</pre>
    <pre id="custom-spacing">{{ {'name':'value'} | json:4 }}</pre>

    it('should jsonify filtered objects', function() {
      expect(element(by.id('default-spacing')).getText()).toMatch(/\{\n  "name": ?"value"\n}/);
      expect(element(by.id('custom-spacing')).getText()).toMatch(/\{\n    "name": ?"value"\n}/);
    });