2

Web サービスに渡すことができる一連の製品 SKU を作成しようとしています。

テキスト領域"123 456 789"で、テキスト ボックスから各項目を選択し、JSON を使用して渡したいと入力すると、JSON は次のように表示されます。

"productcode" : "123", "productcode" : "456", "productcode" : "789"

どうすればこれを行うことができますか?

私が試してみました

var json_data = JSON.stringify({
  productcode: $('#txtAddMultiProducts').val()
});

戻ってくるのは"productcode" : "123,456,789"

4

1 に答える 1

1

JavaScript.split()関数を使用して入力をスペースで分割し、返された配列に従って JSON を構築できます。

var inputValue = $('#txtAddMultiProducts').val();
var values=inputValue.split(" "); 
// if the values are separated by commas, you can use `inputValue.split(",");`

これにより、これに似た配列が得られます-

[123,456,789]

今、その配列を繰り返し処理して、JSON オブジェクトを構築できます -

var finalObj = {}; // short-hand for "new Object()"
$.each(values,function(index,value){
  finalObj['productcode_'+index] = value;
});

最終的な JSON オブジェクトには一意のインデックスが必要です。そうしないと、各値が最後の値をオーバーライドします。

このコードにより、次のような結果が得られるはずです -

{'productcode_0':'123','productcode_1':'456','productcode_2':'789'}
于 2012-06-18T10:36:20.870 に答える