2016-12-21 4 views
2

私は、ウェブページからフォームデータをログに記録し、ユーザーがメールクライアントを使用することなく別のメールアドレスにメールを送信するためにgoogleスクリプトを使用しています。それはすべて動作しているし、私は電子メールの本文にJSON出力をフォーマットしようとしていますし、ガイドやその他の質問にも従えば、本文はフォーマットされません。私は "\ n"を追加するだけで簡単だと思っていた新しい行を作成して情報を分割したいが、それはGoogle環境ではうまくいかなかった。ここで私は、これは電子メールが現在のように見えるものです助けになる場合も javascriptとgooglescriptとのJSONの相違

Logger.log(e); 
MailApp.sendEmail(TO_ADDRESS, "Quote Form Submitted", JSON.strinify(e.parameters)); 

を使用していたコードは、いずれか1行のテキスト入力またはテキストですフォームは2つのチェックボックスのセクションと、残りの構成されています領域入力

{"CompanyName":["Test Company"],"Garage":["on"],"Customer":["on"],"Start":["2016-12-21"],"SpecialService":["None"],"ProvingGround":["on"],"ContactInfo":["1234 Candy Cane Ln. "],"End":["2016-12-29"],"ContactName":["John Doe"],"ContactTitle":["IT Support"],"Other":["on"]} 

これを行う方法はありますか、これを別の方法で攻撃する方が良いでしょうか?

+0

JSON値を電子メールで送信するのではなく、エンドポイント間で直接データを移動することが本当に奇妙に思えます。 – BrettJ

+0

私はこの種のものには非常に新しいので、それを実行するのは奇妙な方法かもしれませんが、私が見つけたそのものは十分に単純に見えます。このようなことについてどうやってお勧めしますか?私はそれが私が望んでいたように印刷するようになったが、もっと良い方法があればそれを試してみることになるだろう – ITSupport094

+0

それはおそらくあなたがしようとしていることに依存する。 JSONデータで何が起こっていますか? – BrettJ

答えて

2

JSON.stringifyには、出力をきれいに印刷するオプションが組み込まれています。出力値を変更するための置換機能とインデントレベルを示す番号を渡すことができます。

var data = { 
 
    a: { 
 
    b: 'c', 
 
    d: 'e', 
 
    }, 
 
    f: { 
 
    g: { 
 
     h: { 
 
     i: 'j' 
 
     } 
 
    } 
 
    } 
 
}; 
 

 
console.log('Normal:'); 
 
console.log(JSON.stringify(data)); 
 
console.log('Pretty-printed:'); 
 
console.log(JSON.stringify(data, null, 2));

関連する問題