補間を使用して変数を使用してGroovyマップに文字列を追加する

デビッド

コードを検討してください:

 Map prJsonData = readJSON text: '{}'
 prJsonData.head = "release/${NEW_TAG}" as String
 prJsonData.title = "Release ${NEW_TAG}"
 writeJSON(file: 'create-pr.json', json: prJsonData, pretty: 4)

と出力

{

    "head": "release/v1.0.2",

    "title":     {

        "bytes":         [
            82,
            101,
            97
        ],

        "strings":         [

            "Release ",

            ""

        ],

        "valueCount": 1,

        "values": ["v1.0.2"]

    }

}

指定as Stringすると、補間が機能するように出力が変更されるのに、これがないと、出力はある種の複雑なタイプのように見えるのはなぜですか

cfrick

$文字列内で変数を置き換えるために使用する場合、実際にはJava文字列は返されませんが、GStringそこでのJSONシリアライザーは、代わりにそれをシリアル化します。

groovy:000> a=1
===> 1
groovy:000> s="$a"
===> 1
groovy:000> s.getClass()
===> class org.codehaus.groovy.runtime.GStringImpl
groovy:000> s.properties
===> [values:[1], class:class org.codehaus.groovy.runtime.GStringImpl, bytes:[49], strings:[, ], valueCount:1]

.toString()コンシューマーが任意のオブジェクトを受け入れる場合、文字列の使用または文字列へのキャストが必要になることが多いため、これが違いを生みます。JSONライブラリによっては、このような混乱を防ぐために、GString用に独自のシリアライザーを追加することをお勧めします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列補間を使用して文字列を列にフォーマットする

分類Dev

Scala:文字列補間を使用して関数を直接println(...)に使用する方法

分類Dev

文字列補間を使用して dartlang のネストされたマップの値にアクセスする

分類Dev

リストの内容を使用して、マークアップを変数として補間する方法は?

分類Dev

変数ソースとしてHashMapを使用して文字列内の変数を補間する方法

分類Dev

Rails文字列補間を使用してHTMLに複数の条件付きCSSクラスを追加する

分類Dev

フォーマット変数を使用した文字列補間

分類Dev

文字列補間のマップで「_」を使用します

分類Dev

文字列補間を使用して$を出力する方法

分類Dev

文字列補間を使用してGroovyでドット表記を使用してネストされたマップのプロパティから値を取得する方法

分類Dev

Dartを使用して文字列をリスト/マップに変換する

分類Dev

Jacksonを使用してjson文字列を汎用マップに変換する

分類Dev

関数呼び出しに文字列補間を使用する

分類Dev

C#6補間された文字列を使用してdoubleをフォーマットする方法

分類Dev

Terraform補間を使用してリソースを文字列リストに変換する

分類Dev

変数をマップ キーとして使用する MongoDB Groovy クエリ

分類Dev

文字列補間内の変数を使用して小数点以下の桁数を指定します

分類Dev

補間なしで `p`メソッドを使用して配列に表示されるエスケープ文字

分類Dev

補間なしで `p`メソッドを使用して配列に表示されるエスケープ文字

分類Dev

Angular 2 で文字列補間を使用してビューに数値をレンダリングする

分類Dev

単位に対してAngularで文字列補間を使用する方法

分類Dev

Elixirでは、文字列補間を使用して数値をどのようにフォーマットしますか

分類Dev

docker-リスト、マップ、または配列値を使用して変数置換/補間を作成します

分類Dev

R文字列と変数をtext(...)を使用してプロットに追加します

分類Dev

文字列補間と逐語的文字列を一緒に使用してJSON文字列リテラルを作成する方法

分類Dev

JSONを解析してAesonを使用して文字列文字列をマップする

分類Dev

sscanfを使用して文字列を時間に変換する

分類Dev

print()を使用して変数の前に文字を追加する方法

分類Dev

Rubyは補間を使用してオブジェクトに文字列を追加します

Related 関連記事

  1. 1

    文字列補間を使用して文字列を列にフォーマットする

  2. 2

    Scala:文字列補間を使用して関数を直接println(...)に使用する方法

  3. 3

    文字列補間を使用して dartlang のネストされたマップの値にアクセスする

  4. 4

    リストの内容を使用して、マークアップを変数として補間する方法は?

  5. 5

    変数ソースとしてHashMapを使用して文字列内の変数を補間する方法

  6. 6

    Rails文字列補間を使用してHTMLに複数の条件付きCSSクラスを追加する

  7. 7

    フォーマット変数を使用した文字列補間

  8. 8

    文字列補間のマップで「_」を使用します

  9. 9

    文字列補間を使用して$を出力する方法

  10. 10

    文字列補間を使用してGroovyでドット表記を使用してネストされたマップのプロパティから値を取得する方法

  11. 11

    Dartを使用して文字列をリスト/マップに変換する

  12. 12

    Jacksonを使用してjson文字列を汎用マップに変換する

  13. 13

    関数呼び出しに文字列補間を使用する

  14. 14

    C#6補間された文字列を使用してdoubleをフォーマットする方法

  15. 15

    Terraform補間を使用してリソースを文字列リストに変換する

  16. 16

    変数をマップ キーとして使用する MongoDB Groovy クエリ

  17. 17

    文字列補間内の変数を使用して小数点以下の桁数を指定します

  18. 18

    補間なしで `p`メソッドを使用して配列に表示されるエスケープ文字

  19. 19

    補間なしで `p`メソッドを使用して配列に表示されるエスケープ文字

  20. 20

    Angular 2 で文字列補間を使用してビューに数値をレンダリングする

  21. 21

    単位に対してAngularで文字列補間を使用する方法

  22. 22

    Elixirでは、文字列補間を使用して数値をどのようにフォーマットしますか

  23. 23

    docker-リスト、マップ、または配列値を使用して変数置換/補間を作成します

  24. 24

    R文字列と変数をtext(...)を使用してプロットに追加します

  25. 25

    文字列補間と逐語的文字列を一緒に使用してJSON文字列リテラルを作成する方法

  26. 26

    JSONを解析してAesonを使用して文字列文字列をマップする

  27. 27

    sscanfを使用して文字列を時間に変換する

  28. 28

    print()を使用して変数の前に文字を追加する方法

  29. 29

    Rubyは補間を使用してオブジェクトに文字列を追加します

ホットタグ

アーカイブ