티스토리 뷰

기술지향적이지만 극히 편리함과 직관성을 추구하는 나는

 

언제나 데이터테이블을 유니티에서 사용할 때 JSON 파일을 읽어오는 방식으로 하곤 했다.

XML에 비해서 직관적이고 수정용이하며

ScriptableObject라든지.. csv라든지 다 너무 불편했기 때문,

(수정이 귀찮음, 파싱에서 오류발생가능 ㅠ)

 

아무튼 각설하고 JSON을 사용하는데 엑셀에서 json뽑는건 몇몇 툴이 있고 유니티에서도 에셋을 통해서 편리하게 하고 있었지만

구글 스프레드시트의 클라우드성을 선호하는 나는 몇몇 애드온에서 json을 뽑아내는 걸 알고 사용해봤으나

유니티에 적용하는 클래스 시리얼라이즈 느낌이 아니어서 사용하지 않았음.

 

그런데 구글 문서에 스크립트를 적용하면 편하게 되겠다 싶어서

만듬.

대충 만들었는데 잘돼서 뿌듯함

 

일단 혹시 참고할 사람있을까 싶어서 여기에 남겨놓도록 하겠습니다.

 

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var title = sheet.getSheetName();
  var result = "{"+"\"" + title +"\":[";
  var columnmax = sheet.getLastColumn();
  var rowmax = sheet.getLastRow();
  var dataRange = sheet.getRange(1,1, rowmax,columnmax);
  var data = dataRange.getValues();
  for(var i = 1 ; i< data.length;i++){
    if(sheet.getRange(i+1, 1).getValue().toString().startsWith("~") || sheet.getRange(i+1,1).getBackground() == '#000000'){
      continue;
    }
    result+="{";
    for(var j  = 0; j<data[i].length;j++){
          if(sheet.getRange(1,j+1).getValue().toString().startsWith("~") || sheet.getRange(1,j+1).getBackground() == '#000000'){
      continue;
    }
      result += "\""+data[0][j]+"\" : \"" + data[i][j] + "\",";
    
    
    }
    result+="}, ";
  }
  result += "]}";
  Logger.log(result);
  sheet.getRange(1, columnmax+1).setValue(result);
  return result;
}

이걸 스프레드시트에 도형 삽입해서 버튼으로 연결하면

첫행에 맨오른쪽에 json 문자열 만들어지게 해버림.

 

잘된다. 잘사용중...

'개발일기' 카테고리의 다른 글

Windows 10 유저 폴더명 바꾸기  (0) 2019.05.24
댓글
최근에 올라온 글
Total
Today
Yesterday
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31