2016-06-15 6 views
0

이 하나가 나를 당황시키고 올바른 설명을 위해 올바른 키워드를 검색하고 있는지 확실하지 않습니다.Javascript지도 CSV 문자열을 JSON 배열

RPC를 원격 서버에 보냈습니다. 내가 키에 JS를 통해 이러한 값을 매핑 할 필요가이 응답을받을 때

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

은 (하드 코딩을, 내가 지정) : 내가 얻을 응답 값 (아무 키)와 단지 쉼표로 구분 된 문자열과 같이이다

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

이 사람이 올바른 방향으로 ... 샘플 코드 또는 내가 무엇을 찾고에 가까운 튜토리얼에서 저를 슬쩍 찌르다 수 :이 같은 JSON 배열을 생성? 서버가 응답을 받으면 호출되는 미들웨어 스크립트 용입니다.

이것은 오랫동안 배우고 Obj-C로 오랫동안 찾고 있었고 Swift를 배우면서 처음 보았습니다.하지만 JS는 저에게 새로운 것입니다. 나는이 문제를 알아내는 나의 미약 한 시도를 게시하지 않고 도움을 요청에 의해 어떤 프로토콜을 위반하고 있다면이

+0

아래를 참조하십시오 당신은 당신의 열쇠가 무엇인지 아십니까? 15 개의 키가 있고 5 개의'val' 만 얻으면 어떨까요? – mariocatch

+0

안녕하세요 mariocatch. 예, 방금 게시물을 업데이트했습니다. 내가받는 문자열은 항상 동일한 수의 값을 가지며 (내 경우에는 11입니다.) 항상 동일한 순서로 나타납니다. value가 반환되지 않으면 val1, val2, val4 ,,, val7 ...처럼 보이지만 항상 x 개의 쉼표 delimeter가 있습니다. –

+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

오케이 멋진 matiocatch! 저가 조금 일하고 결과로 돌아 가자. 고맙습니다! –

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, 나는 이것을 줄 것이다. 엔드 포인트 응답을 변경할 수 없으며 이미 카드 브랜드 인증 등을 통해 지불 처리 시스템입니다. 모든 변경 사항에는 모든 종류의 드라마가 필요합니다. 고맙습니다! –