sm 기술 블로그

[리액트] 문자열 객체로 변환하기 본문

리액트

[리액트] 문자열 객체로 변환하기

sm_hope 2022. 9. 18. 16:29

https://smhope.tistory.com/533

 

[리액트] jwt 디코딩

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiLrsJXshozrp50iLCJyb2xlcyI6WyJST0xFX1VTRVIiXSwiZW1haWwiOiJkZW5pc3QyM0BuYXZlci5jb20iLCJpZCI6MywiaWF0IjoxNjYzNDc0NzE1LCJleHAiOjE2NjM0NzY1MTV9.N4xjl-CARWTeRwBEJo_mZZB1u9Pm..

smhope.tistory.com

전 포스팅에서 jwt를 디코딩 해보았다.

만족스럽게 작동하였으나 결과물은 문자열로 아쉬운 점이 있었다.

 

이번에는 문자열을 객체로 변환하는 방법을 알아보자.

 

정상적으로 진행 했다면 위와 같이 결과가 나왔을 것이다.

 

이를 JSON.parse() 를 이용하여 객체로 만들어주면 간단하게 해결할 수 있다.

 

let dec = JSON.parse(base64.decode(payload));

 

 

전체 코드는 아래와 같다.

import base64 from 'base-64';

const Test = () =>{
      let token = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiLrsJXshozrp50iLCJyb2xlcyI6WyJST0xFX1VTRVIiXSwiZW1haWwiOiJkZW5pc3QyM0BuYXZlci5jb20iLCJpZCI6MywiaWF0IjoxNjYzNDc0NzE1LCJleHAiOjE2NjM0NzY1MTV9.N4xjl-CARWTeRwBEJo_mZZB1u9PmERp507D-LfuiDn8";
      let payload = token.substring(token.indexOf('.')+1,token.lastIndexOf('.')); 
      let dec = JSON.parse(base64.decode(payload));
      return(
            <div>{dec.email}</div>
      )
} 

export default Test;

 

결과

Comments