2016-10-12 5 views
0

JSONペイロードの一部としてAPI呼び出しで送信する必要がある文字列があります。 ...Groovyの文字列からキャリッジリターンとエスケープ引用符を削除するにはどうすればよいですか?

キャリッジリターンを取り除き、JSON(シングルとダブルの両方)の引用符をエスケープする最も簡単な方法は何ですか?

私は少なくとも正規表現を使用して、すべてをthis post(Java用)に示すように置き換えることができます。

しかし、それを実行して引用符をエスケープするような面白い方法があるかどうか疑問に思うだけですか?

答えて

1

これが必要ですか? JsonBuilderはすでにそれらをエスケープします:

def alicia = """ 
Moment of honesty 
     Someones gotta take the lead tonight 


    Who's it gonna be? 
    I'm gonna sit right here 
     And tell you all that comes to me 
If "you" have something to say 
    "You" should say it right now 
""" 

def json = new groovy.json.JsonBuilder()  
def songJson = json.songs { 
song { 
     singer "Alicia" 
     lyrics alicia 

    } 
} 

assert json.toString() == '{"songs":{"song":{"singer":"Alicia","lyrics":"\n Moment of honesty\n  Someones gotta take the lead tonight\n\n\n  Who's it gonna be?\n  I'm gonna sit right here\n  And tell you all that comes to me\nIf \"you\" have something to say\n \"You\" should say it right now\n "}}}' 

そうでない場合は、StringEscapeUtilsは興味があるかもしれません。

+0

あなたは正しいです、それはそれらをエスケープします。とにかく、私はこれを見逃したか分からない。 – AbuMariam

関連する問題