JSONから非平坦化関数
- 更新日2025-07-30
- 6分で読める
UTF-8のJSON (JavaScript Object Notation) 文字列をタイプ/デフォルトに配線されたLabVIEWデータタイプに変換します。

入力/出力
LabVIEWの拡張を有効化? (T)
—
LabVIEWの拡張を有効化?は、NaNおよび倍精度の浮動小数のInf値をサポートするために、LabVIEW JSON拡張を有効にします。すべてのJSONパーサーでこれらの拡張をサポートされるわけではありません。
パス
—
パスは、JSON文字列の特定項目を識別します。JSON文字列に複数の項目が含まれており、特定の項目を抽出したい場合は、パスを使用します。パスは、項目を特定するために、配列内の各要素がクラスタ要素名または配列の整数指標を参照する文字列配列を使用します。 パスを使用して項目を指定する場合、項目指定のデータタイプに対応するデータタイプをタイプとデフォルトに配線する必要があります。 たとえば、{"0":"abc","1":false,"2":[9,8,7]}というJSON文字列を例に考えてみます。以下に、さまざまなパスに必要なタイプとデフォルト入力と、その場合の値出力を示します。
JSON文字列
—
JSON文字列は、非平坦化したいUTF-8文字列です。この文字列を生成するには、「JSONに平坦化」関数を使用します。
タイプとデフォルト
—
タイプとデフォルトは、JSON文字列を非平坦化した後のデータタイプとデフォルト値を指定します。この入力は、ブール、整数、浮動小数点数、文字列、およびこれらのデータタイプの配列またはクラスタを受け入れます。クラスタ要素にはラベルを付けることも、付けないことも可能ですが、両方を混在させることはできません。クラスタ内の要素にラベルを付ける場合は、クラスタ内で固有の名前を付ける必要があります。サポートされていないデータタイプを配線すると、VIは壊れます。 JSON文字列の要素にラベルが付いている場合、タイプとデフォルトに配線されている要素にも同じラベルを付ける必要があります。たとえば、JSON文字列が{"firstelement":"a","secondelement":"b"}の場合、firstelementというラベルの付いた文字列とsecondelementというラベルの付いた文字列の入ったクラスタを配線する必要があります。さらに、JSON文字列内の特定項目のパスを指定する場合は、タイプとデフォルトに配線するデータタイプは、パスが示す項目のデータタイプと一致している必要があります。
エラー入力 (エラーなし)
—
エラー入力は、このノードを実行する前に発生したエラーの状態を示します。この入力は、標準エラー入力として機能します。
デフォルトのNULL要素? (F)
—
デフォルトのNULL要素?は、LabVIEWがJSON内のNULL値に入力クラスタからのデフォルト値を使用するかどうかを指定します。デフォルトのNULL要素がFALSEの場合、LabVIEWはNULL値に対してエラーを返します。
厳密な検証? (F)
—
厳密な検証?により、JSONオブジェクトに入力クラスタで定義されていない項目が含まれている場合にエラーが返されるかどうかが決まります。厳密な検証?がFALSEの場合、JSONオブジェクトには、クラスタ内で定義されていない項目が含まれている可能性があります。
値
—
値は、タイプとデフォルトと同じデータタイプおよび構造の非平坦化データとしてJSON文字列を返します。
エラー出力
—
エラー出力には、エラー情報が含まれます。この出力は、標準エラー出力として機能します。 |
JSON文字列がタイプ/デフォルトが受け付けないデータタイプ (配列の配列やタイプが混在する配列など) を示している場合、1つの「JSONから非平坦化」関数を使用してJSON文字列全体を変換することはできません。ただし、パスを使用すると、JSON文字列内の項目を識別および抽出できます。
LabVIEWの拡張を有効化? (T)
—
パス
—





JSON文字列
—
タイプとデフォルト
—
エラー入力 (エラーなし)
—
値
—
エラー出力
—