2016-03-28 11 views
-2

JSON形式の応答をAJAX呼び出しによってPHPファイルから作成しました。jQueryを使用したJSONレスポンスからのオブジェクトの作成

console.log(data["json"]); 

[{"value":"23","label":"Assorted Juices"},{"value":"24","label":"Water"},{"value":"25","label":"Beers"},{"value":"26","label":"Carbonated Drinks"},{"value":"27","label":"Instant Beverages "},{"value":"28","label":"Energy Drinks"}] 

私は、ビルドJavaScriptで以下のようなオブジェクトが必要JSON

var subCategory = data["json"]; 
//console.log(subCategory); 
var obj = $.parseJSON(subCategory); 
$.each(obj, function() { 
$label = this['label']; 
$value = this['value']; 
}); 

をループすることができました。このようなオブジェクトを生成するために上記のループを調整するにはどうすればよいですか?

var data = [ 
    { label: 'Water', value: '24' }, 
    { label: 'Energy Drinks', value: '28' }, 
] 
+1

PHPコードを一切修正できますか?あなたのデータはすでに必要なフォーマットになっています。単に 'id'キーを' value'という名前に変更し、 'name'を' label'に変更するだけです。 –

+0

idとnameはデータベースフィールドです。上記のPHPコードをご覧ください。 – brainHax

+0

...なぜ選択内のフィールドの名前を変更できませんか? –

答えて

0

オブジェクトを作成し、それを配列にプッシュすると、そのジョブを実行できます。

var subCategory = data["json"]; 
//console.log(subCategory); 
var obj = $.parseJSON(subCategory); 
var data3 = []; 
var counter = 0; 
$.each(obj, function() { 

$label = this['label']; 
$value = this['value']; 
var obj2 = { 
     label: $label, 
     value: $value 
    }; 
    data3.push(obj2); 
}); 
関連する問題