JSON データ検索 API

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:7分
  • インスタンスに HTTPS GET 要求を発行して、データをクエリします。

    デフォルトでは、 sysparm_sys_id パラメーターが存在する場合、GET 要求は get 関数として解釈されます。それ以外の場合は、getRecords 関数として解釈されます。URL パラメーター sysparm_action=getを指定することもできます。クエリ応答は常にレコードのレコードハッシュによってカプセル化され、個々のレコードの値自体がフィールド名でハッシュされます。

    参照変数の表示値を返します

    get または getRecords 関数からレコードを取得すると、そのレコードに関連付けられているすべてのフィールドが返されます。多くの場合、これらのフィールドは、別のテーブルの sys_id を含む参照フィールドです。基本システムの動作では、これらのフィールドの sys_id 値が返されます。フィールドの表示値を返すには、次のいずれかのオプションを使用します。
    • プロパティ glide.json.return_displayValue をシステムプロパティに追加すると、すべての JSON 要求が参照フィールドの表示値を返します。
    • パラメーター displayvalue=true を JSON 要求 URL に追加すると、そのパラメーターを含む JSON 要求は、参照フィールドの sys_id ではなく表示値を返します。JSON URL は次のようになります。
      https://<instance name>.service-now.com/incident.do?JSON&sysparm_action=getRecords&sysparm_query=active=true^category=hardware&displayvalue=true
      
    • JSON 要求 URL にパラメーター displayvalue=all を追加すると、そのパラメーターを含む JSON 要求は、参照フィールドの表示値と sys_id を返します。表示値フィールドの応答要素名には、プリフィックスとして dv_ が付きます ( 例:dv_caller_id)。

    変数を取得

    displayvariables クエリパラメーターを使用して、サービスカタログアイテムレコードに関連付けられた変数のアレイを返します。変数を取得するには、JSON 要求 URL にパラメーター displayvariables=true を追加します。たとえば、 サービスカタログ 変数を含む JSON 形式のレコードを取得するための URL を次に示します。

    https://<your-instance>.servicenow.com/sc_req_item.do?JSONv2&sysparm_action=getRecords&sysparm_query=sys_id=5018da81742bd410f8771974894916fe&displayvariables=true
    レコードからの複数行の変数セットを表示する応答の例を次に示します。
    {
       "records":[
          {
             …
             "variables":[
                {
                   "display_value":[
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      }
                   ],
                   "columns_meta":[
                      {
                         "name":"device_type",
                         "label":"Device Type",
                         "id":"da7d3f3241411300964ff05369414eca",
                         "type":5,
                         "order":"0"
                      },
                      {
                         "name":"storage",
                         "label":"Storage",
                         "id":"691e337241411300964ff05369414e31",
                         "type":5,
                         "order":"1"
                      },
                      {
                         "name":"color",
                         "label":"Color",
                         "id":"e89fb77241411300964ff05369414e74",
                         "type":5,
                         "order":"2"
                      },
                      {
                         "name":"quantity",
                         "label":"Quantity",
                         "id":"2d5f737241411300964ff05369414eaf",
                         "type":5,
                         "order":"3"
                      }
                   ],
                   "max_rows":50,
                   "name":"mobile_devices_set",
                   "id":"e84d3f3241411300964ff05369414e3e",
                   "type":"one_to_many",
                   "value":[
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      }
                   ],
                   "row_count":2
                },
                {
                   "question_text":"Department",
                   "name":"department",
                   "type":8,
                   "value":"Development",
                   "order":100
                },
                {
                   "question_text":"Who is this request for?",
                   "name":"requested_for",
                   "type":8,
                   "value":"System Administrator",
                   "order":100
                },
                {
                   "question_text":"When do you need this?",
                   "name":"needed_by",
                   "type":5,
                   "value":"Today",
                   "order":200
                },
                {
                   "question_text":"Business Justification",
                   "name":"business_justification",
                   "type":2,
                   "value":"Example justification",
                   "order":200
                }
             ],
           …
          }
       ]
    }

    応答のキーは次のように定義されます。

    キー 説明
    display_value 複数行の変数セットの質問の表示値。複数行の変数セットでのみ返されます。
    columns_meta フィールドのsys_idや名前などの複数行の変数セットメタデータのアレイ。変数に複数のフィールドが含まれている場合にのみ返されます。
    max_rows 複数行の変数セットで許可される最大行数。複数行の変数セットでのみ返されます。
    name 質問名。
    ID 複数行の変数セットのSys_id。複数行の変数セットでのみ返されます。
    type 質問のタイプ。
    value 質問値。
    row_count 複数行の変数セットの現在の行数。複数行の変数セットでのみ返されます。
    question_text 質問ラベル。単一行の変数セットでのみ返されます。
    order 質問の順番。

    レコードの順序を制御する

    JSON 応答でレコードが表示される順序を制御できます。順序を設定するには、URL エンコードクエリで ORDERBY 句または ORDERBYDESC 句を使用します。例を次に示します。

    sysparm_query=active=true^ORDERBYnumber^ORDERBYDESCcategory

    すべてのアクティブなレコードをフィルタリングし、結果を最初に番号の昇順に並べ替え、次にカテゴリ別の降順に並べ替えます。詳細については、「 エンコードされたクエリ文字列」を参照してください。

    getKeys

    sysparm_queryパラメーターにエンコードされたクエリ文字列を指定して、複数のレコードのsys_idを取得します。
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getKeys&sysparm_query=active=true^category=hardware
    

    取得

    sysparm_sys_idパラメーターでsys_idを指定して、レコードを直接取得します。
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
    
    必要に応じて、 sysparm_action パラメーターを指定することもできます。
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
    

    レコードを取得

    sysparm_query パラメーターにエンコードされたクエリ文字列を指定して、すべてのレコードを取得します。
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware