login register Sysop! about ME  

2018년 08월 20일 11시 06분 00초,     조회수 : 935
  제목 : string을 object로 변환
SEQ : 24081 글쓴이 : ekzjtm1

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

안녕하세요.

var option1 = [{name: '가나',value: 'ab'},{name: '다라',	   value: 'cd'}];
console.log(typeof option1);   //object
console.log(option1);  (3)?[{…}, {…}, {…}]

var option2 = "[{name: '가나',value: 'ab'},{name: '다라',	   value: 'cd'}]";
console.log(typeof option2);   //string

option2는 서버변수값으로 문자열을 대입시켜준거입니다.
option2를 option1과 마찬가지로 object 배열로 만들어주고 싶은데
방법이 있을가요?

  yangga96
  2018-08-20(13:13)
캐릭 이미지
var option2 = JSON.parse('[{"name":"가나","value":"ab"},{"name":"다
라","value":"cd"}]');
console.log(typeof option2);

  ekzjtm1
  2018-08-20(13:20)
캐릭 이미지
var temp = "[{name: '가나',value: 'ab'},{name: '다라',value: 'cd'}]";
console.log(typeof temp); //string
var temp2 = JSON.parse(temp);
console.log(typeof temp2);

알려주신대로 하게되면 콘솔에러메세지로 아래와같이 나오는데요. 다른방법이 없을가요?
VM975:1 Uncaught SyntaxError: Unexpected token n in JSON at position 2

  yangga96
  2018-08-20(16:53)
캐릭 이미지
가급적 json 규칙을 지켜서 큰 따옴표를 사용하시는게 좋긴한데... 보안문제 없다면 eval 쓰셔
도 됩니다.

var option2 = eval('[{name:"가나",value:"ab"},{name:"다라",value:"cd"}]');
console.log(typeof option2);

  봔™
  2018-10-19(14:02)
캐릭 이미지
var convertJsonFormater = function(str) {
var convertFirst = str.replace((/([\w]+)(:)/g), "\"$1\"$2");
var convertSecond = convertFirst.replace((/'/g), "\"");
return convertSecond;
}

var option2 = "[{name: '가나',value: 'ab'},{name: '다라', value: 'cd'}]";

var option3 = JSON.parse(convertJsonFormater(option2));

console.log(typeof option3);

원하시는 결과를 얻으시길 바랍니다.



제목 작성자 날짜 조회
string을 object로 변환 (4) ekzjtm1 2018-08-20 935

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})