---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# JSON - グローバル

# JSON - グローバル {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：7分

JSON スクリプトインクルードは、文字列から JSON オブジェクトを作成し、JSON オブジェクトを文字列に変換するメソッドを提供します。

この API には動的メソッドと静的メソッドがあります。動的メソッドにアクセスするには、JSON オブジェクトを作成します。スコープ対象のアプリケーションで動的メソッドを使用するには、コンストラクターを呼び出すときにグローバルプレフィックスを追加します。静的メソッドにアクセスするには、静的 JSON オブジェクトを使用します。

JSON 静的メソッドの代わりに、JavaScript ES5 ネイティブ JSON オブジェクトが使用されます。スクリプトに以前の動作が必要な場合は、 encode() メソッドと decode() メソッドを使用します。  
この例では、JSON オブジェクトを作成します。

    // obj is a JSON formatted object
    var parser = new JSON(); // encode() and decode() are dynamic methods.
    var str = parser.encode(obj);

encode() メソッドと decode() メソッドは非推奨になりました。代わりに JavaScript JSON オブジェクトを使用してください。  
この例では、スコープ付きスクリプトに JSON オブジェクトを作成します。

    // obj is a JSON formatted object
    var parser = new global.JSON();
    var str = parser.encode(obj);

この例では、静的メソッドを使用します。

    // obj is a JSON formatted object
    var str =  JSON.stringify(obj);
    // str is a string containing content to be turned into a JSON formatted object
    var obj = JSON.parse(str);

## JSON:JSON() {#ariaid-title2}

JSON クラスのインスタンスを作成します。
このクラスは廃止されました。代わりに JavaScript JSON オブジェクトを使用してください。
{#r_JSON-JSON__table_qvw_rgs_dw__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#r_JSON-JSON__table_qvw_rgs_dw}

## JSON - decode(文字列 str) {#ariaid-title3}

JSON 形式の文字列からオブジェクトまたはプリミティブタイプを作成します。
注:  
このクラスは廃止されました。代わりに JavaScript JSON オブジェクトを使用してください。
{#r_JSON-decode_S__table_kxb_vks_dw__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| str | 文字列 | JSON 形式の文字列。 |
[表 : 2. パラメーター]

{#r_JSON-decode_S__table_kxb_vks_dw} {#r_JSON-decode_S__table_lxb_vks_dw__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 指定された文字列から作成されたオブジェクト。 |
[表 : 3. 返される内容]

{#r_JSON-decode_S__table_lxb_vks_dw}  

    var str = '{"name":"George","lastname":"Washington"}';
    var parser = new JSON();
    var obj = parser.decode(str);
    gs.info('The first name is '  + obj.name);

出力:ファーストネームはジョージです  
スコープ付きスクリプトで使用する。

    var str = '{"name":"George","lastname":"Washington"}';
    var parser = new global.JSON();
    var obj = parser.decode(str);
    gs.info('The first name is '  + obj.name);

出力:ファーストネームはジョージです

## JSON - encode(オブジェクト:jsonObject) {#ariaid-title4}

JSON オブジェクトから文字列を作成します。
注:  
このクラスは廃止されました。代わりに JavaScript JSON オブジェクトを使用してください。
{#r_JSON-encode_O__table_u2m_phs_dw__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| jsonオブジェクト | オブジェクト | 文字列に変換される JSON オブジェクト。 |
[表 : 4. パラメーター]

{#r_JSON-encode_O__table_u2m_phs_dw} {#r_JSON-encode_O__table_v2m_phs_dw__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | JSON 形式の文字列。 |
[表 : 5. 返される内容]

{#r_JSON-encode_O__table_v2m_phs_dw}  

    var obj = {"name":"George","lastname":"Washington"};
    var parser = new JSON();
    var str = parser.encode(obj);
    gs.info('The object '  + str);

出力:オブジェクト {"lastname":"Washington","name":"George"}  
スコープ付きスクリプトで使用する。

    var obj = {"name":"George","lastname":"Washington"};
    var parser = new global.JSON();
    var str = parser.encode(obj);
    gs.info('The object '  + str);

## JSON - parse(String str) {#ariaid-title5}

JSON 形式の文字列からオブジェクトまたはプリミティブタイプを作成します。
JSON 静的メソッドの代わりに、JavaScript ES5 ネイティブ JSON オブジェクトが使用されます。スクリプトに以前の動作が必要な場合は、 encode() メソッドと decode() メソッドを使用します。
{#r_JSON-parse_S__table_chm_jxx_dw__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| str | 文字列 | JSON 形式の文字列。 |
[表 : 6. パラメーター]

{#r_JSON-parse_S__table_chm_jxx_dw} {#r_JSON-parse_S__table_dhm_jxx_dw__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 指定された文字列から作成されたオブジェクト。 |
[表 : 7. 返される内容]

{#r_JSON-parse_S__table_dhm_jxx_dw}  

    var str = '{"name":"George","lastname":"Washington"}';
    var obj = JSON.parse(str);
    gs.info('The first name is '  + obj.name);

出力:ファーストネームはジョージです

## JSON - stringify(オブジェクト:jsonObject) {#ariaid-title6}

JSON オブジェクトから文字列を作成します。
JSON.stringify() メソッドは、数値、文字列、および Java ネイティブオブジェクトのみを文字列に変換できます。ユーザー定義オブジェクトが toJSON() メソッドを提供しない限り、ユーザー定義オブジェクトを文字列に変換することはできません。current.sys_id() の呼び出しは、toJSON() メソッドを持たない GlideElement オブジェクトを返すため、stringify の戻り値は空です: "{}"。JSON 静的メソッドの代わりに、JavaScript ES5 ネイティブ JSON オブジェクトが使用されます。スクリプトに以前の動作が必要な場合は、 encode() メソッドと decode() メソッドを使用します。  
JSON.stringify() は、次のガイドラインを使用して値を JSON 表記に変換します。

* 値に toJSON() メソッドがある場合、シリアル化されるデータの定義を担当します。
* ブーリアン、数値、および文字列オブジェクトは、文字列化中に対応するプリミティブ値に変換されます。従来の変換セマンティクスに従って。
* 変換中に関数、未定義、またはシンボルが見つかった場合は、省略されるか (オブジェクト内で見つかった場合)、null に打ち切りされます (配列内で見つかった場合)。JSON.stringify() は 、 `JSON.stringify(function(){})` や `JSON.stringify(undefined)` などの「純粋な」値を渡すときにも undefined を返します。
* <var class="keyword varname">replacer()</var> 関数を使用している場合でも、すべてのシンボルキー付きプロパティは無視されます。
* Date のインスタンスは、文字列 (date.toISOString() と同じ) を返すことによって toJSON() 関数を実装するため、文字列として扱われます。
* 数値 Infinity と NaN、および値 null はすべて null と見なされます。
* 他のすべてのオブジェクトインスタンスでは、列挙可能なプロパティのみがシリアル化されます。
{#r_JSON-stringify_O__ul_wsq_4mf_pfb}
{#r_JSON-stringify_O__table_dh2_jyx_dw__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| jsonオブジェクト | オブジェクト | 文字列に変換する JSON オブジェクト。 |
[表 : 8. パラメーター]

{#r_JSON-stringify_O__table_dh2_jyx_dw} {#r_JSON-stringify_O__table_eh2_jyx_dw__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | JSON 形式の文字列。 |
[表 : 9. 返される内容]

{#r_JSON-stringify_O__table_eh2_jyx_dw}  

    var obj = {"name":"George","lastname":"Washington"};
    var str =  JSON.stringify(obj);
    gs.info('The object '  + str);

出力:オブジェクト {"name":"George","lastname":"Washington"}  
replacer() 関数を定義して、それを stringify() 呼び出しで使用することもできます。この関数は、 GlideElement.toString() メソッドを利用して、GlideElement オブジェクトの文字列表現を提供します。

    function replacer(name, val) {
       // convert GlideElement to string
       if ( val && val.constructor === GlideElement ) {
           return val.toString();
       } else {
           return val; // return as is
       }
    };

    var s = global.JSON.stringify(json_obj, replacer);
    gs.info("json="+s);


