2017-08-30 33 views
1

$scope.candidates$scope.managersという2つの配列を、私がサーバー用にコードするいくつかのPHPのPOSTとして送信します。私はJSONインターフェースを強く好み、それらを1つのJSONオブジェクトに結合することを考えました。2つのJavaScript配列を1つのJSONに結合する方法は?

var JsonString = {'candiates' : JSON.stringify($scope.candidates), 
         'managers' : JSON.stringify($scope.managers) 
        }; 

有効なJSONを生成しません。私は何をしたいのですか?

+0

JSON.stringifyはオブジェクトがストリング化することを期待しているため、2つの文字列のコレクションをストリング化しようとしています。 正しい構文については、私の答えを参照してください;) – DanteTheSmith

答えて

1

私はあなたが何をしたいのかよく分かりません。 JSONにシリアル化された文字列をJSONに埋め込みたいですか?

var JsonString = JSON.stringify({ 
    'candiates' : JSON.stringify($scope.candidates), 
    'managers' : JSON.stringify($scope.managers) 
};) 

それともJSONリストとしてcandidatesmanagersの両方を持つ1つの大きなJSONオブジェクトをしたいですか?

4

JSONはフォーマットであり、「JSONオブジェクト」はありません。

var JsonString = JSON.stringify({ 
     candidates: $scope.candidates, 
     managers: $scope.managers 
    }); 
1

なぜ:

は、あなたが送信し、その後、JSON文字列を生成したい全体のオブジェクトを作成します!その後、

var both = { 
    candidates : $scope.candidates, 
    managers : $scope.managers 
} 

var JsonString = JSON.stringify(both) 

はJSON.stringifyを覚えては、オブジェクトではなく、コレクションまたは文字列で動作します。

1

は、単一のオブジェクトは、そのオブジェクトを文字列化してください:

var myObj= { 
    candidates: $scope.candidates, 
    managers: $scope.managers 
} 

var myJson=JSON.stringify(myObj); 
関連する問題