2016-06-15 16 views
0

この1つは私を邪魔して、私は可能な説明のために正しいキーワードを検索しているとは確信していません。JavascriptマップCSV文字列をJSON配列

RPCをリモートサーバーに送信しています。私はこの応答を受信したとき、私は(ハードコードされた、私が指定)キーにJSを介してこれらの値をマッピングする必要があり

val1,val2,val3,val4,val5,val6,val7,val8,val9 

:私が得る応答はそうのような値を持つだけで、カンマ区切りの文字列(キーなし)でありますそして生成し、このようなJSON配列:

{ 
    "response": { 
    "mykey1" : "val1", 
    "mykey2" : "val2", 
    "mykey3" : "val3", 
    "mykey4" : "val4", 
    "mykey5" : "val5", 
    "mykey6" : "val6", 
    "mykey7" : "val7", 
    "mykey8" : "val8", 
    "mykey9" : "val9" 
    } 
} 

は誰が正しい方向に私を微調整することができます...私は探しています何の近くにあるサンプルコードやチュートリアルを?これは、サーバーが応答を受け取ったときに呼び出されるミドルウェアスクリプトです。

これは私の最初の投稿です。Obj-Cでの学習と申し込みに長い時間を費やしていました。私はSwiftを勉強していますが、JSは私には新しいものです。私はこれを考え出すで私の微弱な試みを掲示せずに助けを求めることによって、任意のプロトコルを壊していた場合、私は

+0

の下を参照してください、あなたはあなたの鍵が何であるかを知っていますか?もしあなたが15個のキーを持っていて、5個の 'val'sだけを返せばどうでしょうか? – mariocatch

+0

こんにちはmariocatch。はい、私は私の投稿を更新しました。私が受け取る文字列は常に同じ数の値を持ちます(私の場合は11です)、常に同じ順序になります。 valueが返されない場合、val1、val2、val4 ,,, val7 ...のようになりますが、常にカンマ区切り文字がx個あります。 –

+0

'String.split( '、')'を使うだけで、結果の配列で何でもできます。結果を使用して作成するオブジェクトは理にかなっているはずです。これらのキーを使いたいだけなら、Objectを作成するのはどうしてですか? – PHPglue

答えて

1
  1. ますsplitコンマで応答することができます。これはあなたに配列を与えます。

  2. 両方の配列(キーと値)の長さが同じであるため、いずれかのループを繰り返して、そのようにオブジェクトの配列を作成できます。

var response = 'val1,val2,val3,val4,val5'; 
 
var keys = [ 
 
    'key1', 'key2', 'key3', 'key4', 'key5' 
 
]; 
 

 
var dict = []; 
 
var vals = response.split(','); 
 

 
vals.forEach(function(val, i) { 
 
    dict[keys[i]] = val; 
 
}); 
 

 
console.log(dict);

+0

大丈夫ですか?私はこれを少し働かせ、結果を得ましょう。ありがとうございました! –

0

私のコメントを読む...事前に謝罪し、これをチェック:

var result = 'val1,val2,val3,val4,val5,val6,val7,val8,val9'; 
// real question should be why result is not JSON already 
var resArray = result.split(','); 
console.log(resArray[0]); // first result 
console.log(resArray[1]); // second result 
+0

ありがとうPHPGlue、私はこれを与えるでしょう。私はエンドポイントの応答を変更することはできません、それはすでにカードブランドの認定などを経て支払処理システムです。それへの変更はあらゆる種類のドラマを必要とします。ありがとうございました! –