JSON 関数

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

次のスマート値関数は、課題フィールドを JSON 形式に変換するためのものです。通常は、詳細なフィールド編集 Web リクエストの送信で使用されます。
次のドキュメントの例では、2 つのバージョン (Version 2.0 と 3.0) の課題があり、Decision というカスタム単一選択が値「Yes」に選択されていて、要約に「Hello World」というタイトルが付けられているとします。

asJsonString

  • 適用先: テキスト形式のフィールドと値

テキスト プロパティを取得して JSON 形式で文字列としてレンダリングするために使用されます。これによって、文字列にあるすべての特殊文字がエスケープされます。

{{issue.fixVersions.first.name.asJsonString}} 
// Produces
"Version 2.0"

{{issue.summary.asJsonString}} 
// Produces
"Hello World"

{{issue.Decision.value.asJsonString}}
// Produces
"Yes"


asJsonStringArray

  • 適用先: テキスト/数字タイプの値のリスト

値リストを JSON でエンコードされた値のリストに変換するために使用されます。また、次の 2 番目の例に示すように、数値のリストを JSON でエンコードされた文字列のリストに変換するためにも使用できます。

{{issue.fixVersions.name.asJsonStringArray}}
// Produces
["Version 2.0","Version 3.0"]

{{issue.fixVersions.id.asJsonStringArray}}
// Produces
["10046","10047"]


asJsonArray

  • 適用先: 数字タイプの値のリスト

数値のリストを JSON でエンコードされたリストに変換するために使用されます。次の 2 番目の例は、この関数の機能を示しています。テキスト関数によって、各修正バージョンから「version」という単語を削除します (そのために「2.0」と「3.0」のリストを取得します)。その後、asJsonArray によって数値のリストに変換できます。

数字のみ

この関数はテキスト値のリストに適用できますが、正しくレンダリングされないため使用しないでください。

{{issue.fixVersions.id.asJsonArray}}
// Produces
[10046,10047]

{{issue.fixVersions.name.right(3).asJsonArray}}
// Produces
[2.0,3.0]

asJsonObject(keyName)

  • 適用先: テキスト形式のフィールドと値

テキスト値を JSON キーと値のペア オブジェクトに変換するために使用されます。次の例でわかるように、KeyName プロパティはフィールド名として使用されます。

{{issue.summary.asJsonObject("title")}}
// Produces
{ "title": "Hello World" }

{{issue.Decision.value.asJsonObject("implementing")}}
// Produces
{ "implementing": "Yes" }

{{issue.fixVersions.first.name.asJsonObject("title")}}
// Produces
{ "title": "Version 2.0" }

asJsonObjectArray(keyName)

  • 適用先: オブジェクトのリスト (fixVersions やカスタムの複数選択)

これは古い関数で、他の関数のような柔軟性はありません。オブジェクトの 1 つの属性を JSON キーと値のペア オブジェクトに抽出できますが、キーの名前は変更できません。
次の例では、2 つの値 (「Bob」と「Jill」) が選択されている複数選択のカスタム フィールドによって、別のフィールドでどのように機能するかが示されています。複数選択のカスタム フィールドは、ID と値のプロパティを持つオブジェクト リストです。
次のセクションでは、プロパティをキーと値のペア オブジェクトとして抽出して、キー名も変更できる方法を示します。

{{issue.fixVersions.asJsonObjectArray("name")}}	
// Produces
[{ "name": "Version 2.0" },{ "name": "Version 3.0" }]

{{issue.customfield_10099.asJsonObjectArray("value")}}	
// Produces
[{ "value": "Bob" },{ "value": "Jill" }]

関数をチェーンする

この例では、上の 2 つの関数を連結してオブジェクトからプロパティを取得し、JSON キーと値のペアに変換します。この際に、キー名も変更します。この例では、fixVersions というネーム プロパティを選択しています。

{{issue.fixVersions.name.asJsonObject("title").asJsonArray}}
// Produces
[{ "title": "Version 2.0" },{ "title": "Version 3.0" }]

以下の例では、asJsonStringArray を直接使って同じ結果を得ていますが、必要な場合にメソッドを結合できる方法を示しています。

{{issue.fixVersions.name.asJsonString.asJsonArray}}	
// Produces
["Version 2.0","Version 3.0"]
最終更新日 2022 年 6 月 21 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.