툴박스 앱에서 JSON에 개행문자 넣으면 안됨

딕셔너리 읽고 쓰기 숏컷을 직접 만들어 사용할 때는 문제가 없었는데 Toolbox Pro for Shortcuts 앱에서 제공하는 JSON 읽고 쓰는 기능을 사용하기 시작하자 대번에 문제가 생겼습니다. 실행하다가 갑자기 JSON을 읽고 쓰는 곳에서 읽고 쓰기에 실패하고 멈추는 문제였는데 처음엔 이유를 알 수 없었지만 실패한 다음 툴박스 앱에 가서 글로벌 변수를 보니 읽고 쓰기에 실패한 값이 JSON 형태가 아니라 텍스트 형태로 바뀌어 있었습니다. 자세히 살펴보니 JSON 값 중간에 개행문자가 들어 있으면 이를 JSON이라고 판정하지 않고 텍스트라고 판정하는 것 같았습니다. 그래서 텍스트로 형식이 바뀐 값에 JSON 읽는 기능으로 접근하니 에러를 냈던 겁니다.

그래프

결과

설명

그래프

결과

설명

 

이 실험을 하고 나면 테스트 변수가 JSON이 아니게 되므로 일단 삭제하고 시작.

 

테스트라는 변수를 만들고 여기에 딕셔너리 데이터를 넣어 JSON 형식으로 변경.

 

테스트 JSON에 숫자 값을 넣어 이상 없이 동작하는 상태를 확인.

위 단계에서 개행문자가 없는 값은 JSON 모양으로 잘 기록되어 있음.

 

이번에는 중간에 개행문자가 있는 텍스트를 테스트 변수에 JSON 모양으로 추가.

개행문자가 포함된 값이 기록되어 JSON 중간에 개행문자가 들어간 상태.

같은 변수를 JSON에 접근하는 방식으로 접근해 값을 쓰려고 하면 실패함.

 

이 상황에서 Toolbox Pro for Shortcuts 앱을 열어 값을 확인해보면 JSON 타입이 아니라 텍스트 타입 (연두색) 이 되어 있음.

처음에는 원래 JSON에는 값에 개행문자를 쓸 수 없는 건가 했는데 그건 아닌 것 같고 아마 Toolbox Pro for Shortcuts 앱 문제일 가능성이 높아 보입니다. 그냥 이전에 만든 딕셔너리 읽고 쓰기 숏컷을 사용해도 되지만 속도가 훨씬 느리니 어떻게든 이 기능을 사용하기로 했습니다. 대신 개행문자가 들어가면 안되니 JSON 모양으로 값을 넣기 전에 개행문자를 확인해 제거해야 합니다.