2018-11-30 13:50:49 +01:00
|
|
|
<!--
|
|
|
|
Copyright JS Foundation and other contributors, http://js.foundation
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
-->
|
|
|
|
|
|
|
|
<script type="text/x-red" data-help-name="json">
|
|
|
|
<p>Converts between a JSON string and its JavaScript object representation, in either direction.</p>
|
|
|
|
<h3>Inputs</h3>
|
|
|
|
<dl class="message-properties">
|
|
|
|
<dt>payload<span class="property-type">object | string</span></dt>
|
|
|
|
<dd>A JavaScript object or JSON string.</dd>
|
|
|
|
<dt>schema<span class="property-type">object</span></dt>
|
2018-12-10 20:46:21 +01:00
|
|
|
<dd>An optional JSON Schema object to validate the payload against.
|
2018-12-10 20:47:52 +01:00
|
|
|
The property will be deleted before the <code>msg</code> is sent to the next node.</dd>
|
2018-11-30 13:50:49 +01:00
|
|
|
</dl>
|
|
|
|
<h3>Outputs</h3>
|
|
|
|
<dl class="message-properties">
|
|
|
|
<dt>payload<span class="property-type">object | string</span></dt>
|
|
|
|
<dd>
|
|
|
|
<ul>
|
|
|
|
<li>If the input is a JSON string it tries to parse it to a JavaScript object.</li>
|
|
|
|
<li>If the input is a JavaScript object it creates a JSON string. The string can optionally be well-formatted.</li>
|
|
|
|
</ul>
|
|
|
|
</dd>
|
|
|
|
<dt>schemaError<span class="property-type">array</span></dt>
|
|
|
|
<dd>If JSON schema validation fails, the catch node will have a <code>schemaError</code> property
|
|
|
|
containing an array of errors.</dd>
|
|
|
|
</dl>
|
|
|
|
<h3>Details</h3>
|
|
|
|
<p>By default, the node operates on <code>msg.payload</code>, but can be configured
|
|
|
|
to convert any message property.</p>
|
|
|
|
<p>The node can also be configured to ensure a particular encoding instead of toggling
|
|
|
|
between the two. This can be used, for example, with the <code>HTTP In</code>
|
|
|
|
node to ensure the payload is a parsed object even if an incoming request
|
|
|
|
did not set its content-type correctly for the HTTP In node to do the conversion.</p>
|
|
|
|
<p>If the node is configured to ensure the property is encoded as a String and it
|
|
|
|
receives a String, no further checks will be made of the property. It will
|
|
|
|
not check the String is valid JSON nor will it reformat it if the format option
|
|
|
|
is selected.</p>
|
|
|
|
<p>For more details about JSON Schema you can consult the specification
|
|
|
|
<a href="http://json-schema.org/latest/json-schema-validation.html">here</a>.</p>
|
|
|
|
</script>
|