본문 바로가기
반응형

Parsing8

유니티 - JsonUtility로 Json 내보내기 : (4) Export Unity 전체 링크 JsonUtility로 Json 파싱하기 (1) Json Parsing (2) Json Array Parsing (배열 파싱) (3) Array of Objects in Json Array Parsing (배열 안에 있는 오브젝트 배열 파싱) (4) Json Export (파일 출력, 내보내기) 이제 class를 json으로 export 해보자. foreach에서 id를 각각 1씩 증가시킨 후, 값이 제대로 변경되었는지 확인한다. File 출력(WriteAllText)를 사용해가 위해 System.IO를 선언한다. using System.IO; ... void Start() { TextAsset textAsset = Resources.Load("Json/LottoWinningNumb.. 2022. 6. 25.
유니티 - JsonUtility로 Json 파싱하기 : (3) 오브젝트 배열 파싱 Unity 전체 링크 JsonUtility로 Json 파싱하기 (1) Json Parsing (2) Json Array Parsing (배열 파싱) (3) Array of Objects in Json Array Parsing (배열 안에 있는 오브젝트 배열 파싱) (4) Json Export (파일 출력, 내보내기) 이전 글에서 사용한 json 배열 중 오브젝트 1개는 아래와 같다. { "id": "0", "date": " 0-00-00", "number": [0,0,0,0,0,0], "bonus": 0 } 이 오브젝트에 다시 오브젝트 배열이 있는 경우를 생각해보자. test 내부에 { int, string, int[] } 오브젝트가 배열로 있다. { "id": "0", "date": " 0-00-00".. 2022. 6. 25.
유니티 - JsonUtility로 Json 파싱하기 : (2) 배열 파싱 Unity 전체 링크 JsonUtility로 Json 파싱하기 (1) Json Parsing (2) Json Array Parsing (배열 파싱) (3) Array of Objects in Json Array Parsing (배열 안에 있는 오브젝트 배열 파싱) (4) Json Export (파일 출력, 내보내기) 이번에는 여러 개의 로또 번호를 가지고 있는 json 파일을 파싱해보자. 배열과 List로 받을 수 있다. Dictionary 같은 타입은 지원되지 않기 때문에 먼저 List로 파싱한 후 직접 만들어야 한다. LottoWinningNumber.json은 아래와 같다. 글을 쓰는 시점에서 최신 로또 번호 회차인 1017회까지 "winning" 프로퍼티에 배열로 정의되어 있다. { "winnin.. 2022. 5. 29.
유니티 - JsonUtility로 Json 파싱하기 : (1) 기본 Unity 전체 링크 JsonUtility로 Json 파싱하기 (1) Json Parsing (2) Json Array Parsing (배열 파싱) (3) Array of Objects in Json Array Parsing (배열 안에 있는 오브젝트 배열 파싱) (4) Json Export (파일 출력, 내보내기) *.json 파일을 파싱하여 출력해보자. 먼저 이번에 파싱할 파일(Lotto1.json)은 아래와 같다. { "id":"1", "date":"2002-12-07", "number":[10,23,29,33,37,40], "bonus":16 } 대한민국에서 로또는 2002년 12월 07일(date)에 1회(id)를 시작하였고, 당첨 번호(number)는 10, 23, 29, 33, 37, 40이.. 2022. 5. 29.
자바스크립트 - 깊은 복사 (Deep Copy) 자바스크립트 전체 링크 자바스크립트에서 object를 "=" 로 받아오면 참조만 한다. 아래의 코드에서 a의 color를 변경하였는데, b도 변경됨을 알 수 있다. 깊은 복사의 가장 간단한 방법은 object를 문자열로 바꾸고, 그 문자열을 다시 object로 바꾸는 것이다. JSON.stringify에 a를 넘겨주면 text로 된 object를 return한다. JSON.parse를 이용하면 문자열을 object로 변경해준다. JSON.parse는 object 형태의 문자열만 parsing한다. 따라서 parsing이 불가능한 경우는 SyntaxError를 뱉는다. 이제 a의 color를 blue로 변경해도, b는 변경되지 않음을 알 수 있다. (deep copy) 함수로 만들면 아래와 같이 만들 수 .. 2022. 5. 21.
리액트 라우터 - URL query string 받아오기 리액트 전체 링크 리액트 라우터에서 path 뒤의 query string을 받아서 동작을 바꿔야 하는 경우가 있다. 쿼리 스트링의 예시는 아래와 같다. ? 뒤의 값들이 query string이다. localhost:3000/pick?package=2022&customer=react query string은 window.location으로 획득한다. 만들어 둔 Component에 적절한 곳의 함수에 아래의 로그를 추가해보자. window.location에서 search를 보면 URL 뒤의 값을 받은 것을 알 수 있다. 이 값을 그대로 parsing해서 써도 되지만 query-string을 import 하면 더 간단히 해결할 수 있다. import queryString from 'query-string'; .. 2022. 2. 7.
React Handsontable로 csv 편집기 만들기 (16) 프로젝트 전체 링크 이전 - (15) callback function으로 선택된 Cell 보여주기 / 수정하기 현재 - (16) colWidths 옵션 / csv 파일 파싱 보완 다음 - (17) redux로 File Upload 상태 관리하기 깃허브 코드 확인하기 현재 myTable의 옵션 중 colWidths는 아래와 같다. colWidths: [60, 60, 60, 60, 60, 60, 60], 이렇게 해두면, width가 배열의 길이보다 많은 경우, column의 길이는 60이 안된다. 따라서 csvFile의 width만큼 배열을 만들고 옵션으로 주면 된다. let colWidths = []; for(let i = 0; i < csvFile.width; i++) colWidths.push(60);.. 2021. 6. 14.
React Handsontable로 csv 편집기 만들기 (6) 프로젝트 전체 링크 이전 - (5) 선택한 경로의 파일 읽기 현재 - (6) csv 파일 파싱하기 다음 - (7) App.js에서 파싱된 csv 파일 받기 깃허브에서 코드 확인하기 아래와 같은 csv 파일이 있다. 이 파일을 메모장으로 열면 아래처럼 보인다. d,e,f,g,h가 5칸이므로 ","가 4개있고, 다른 line에서도 ,가 4개 생기게 된다. csv 파일은 보통 ","로 구분하기 때문에, parsing을 할 경우 ","로 split을 하면 된다. 하지만 우리가 parsing할 csv파일 중 "치킨, 맥주"에는 이미 ","가 있다. 이런 경우 메모장으로 열어보면 ","가 csv에 포함된 경우 ""으로 구분하고 있는 것을 알 수 있다. 실제 console.log를 확인해도 치킨, 맥주를 ""로 구분.. 2021. 6. 2.
반응형