2016-09-08 30 views
0

ユーザーが未処理のJSONをインポートしてからサーバーにポストするインポート機能を使用しようとしています。例えばAngular 2 JSON内のJSONを送信

ユーザーペーストする場合は、このJSON:

{ 
    "name": "testing", 
    "design": [ 
    { 
     "name": "test", 
     "comments": [ 
     { 
      "short": "123", 
      "long": "1234567890" 
     } 
     ], 
     "maxMark": 0 
    } 
    ] 
} 

は、私はそのすべてがサーバに送信されますしたいと思います。 このようなタスクを処理するには最良の方法はありません。

<modal #importModal [keyboard]="false" [backdrop]="'static'"> 
         <modal-header [show-close]="false"> 
          <h4 class="modal-title">Importing a module</h4> 
         </modal-header> 
         <modal-body> 
          <form name="importForm" [ngFormModel]="importForm" (ngSubmit)="importForm.valid" novalidate> 
           <textarea class="form-control" rows="20" #data='ngForm' [ngFormControl]="importForm.controls['data']"></textarea> 
          </form> 
          <pre>{{importForm.value | json }}</pre> 
         </modal-body> 
         <modal-footer> 
          <button type="button" class="btn btn-danger" (click)="importModal.dismiss()"><i class="fa fa-close"></i> Close</button> 
          <button type="button" class="btn btn-primary" type="submit" [disabled]="!importForm.valid" (click)="importModal.dismiss() && submitImport(importForm.value)"><i class="fa fa-floppy-o"></i> Submit</button> 
         </modal-footer> 
        </modal> 

しかし、フォームの値が表示されています:

今私は、簡単なフォームを持っている

"data": "{\n \"name\": \"testing\",\n \"design\": [\n {\n  \"name\": \"test\",\n  \"comments\": [\n  {\n   \"short\": \"123\",\n   \"long\": \"1234567890\"\n  }\n  ],\n  \"maxMark\": 0\n }\n ]\n}" 

私はそれを取り除くか、それを文字列化する必要がありますか?これをJSONに変換するにはどうすればいいですか?

答えて

1

ただもう一度それを解析:

var form = { "data": "{\n \"name\": \"testing\",\n \"design\": [\n {\n  \"name\": \"test\",\n  \"comments\": [\n  {\n   \"short\": \"123\",\n   \"long\": \"1234567890\"\n  }\n  ],\n  \"maxMark\": 0\n }\n ]\n}" }; 
 

 
var dataObject = JSON.parse(form.data);

+0

ああのbrilliiantが、私はあなたがform.dataを解析しなければならなかったことに気づかなかった今、完全な理にかなって、おかげでたくさん! –