툴박스 앱에서 JSON에 개행문자 넣으면 안됨
딕셔너리 읽고 쓰기 숏컷을 직접 만들어 사용할 때는 문제가 없었는데 Toolbox Pro for Shortcuts 앱에서 제공하는 JSON 읽고 쓰는 기능을 사용하기 시작하자 대번에 문제가 생겼습니다. 실행하다가 갑자기 JSON을 읽고 쓰는 곳에서 읽고 쓰기에 실패하고 멈추는 문제였는데 처음엔 이유를 알 수 없었지만 실패한 다음 툴박스 앱에 가서 글로벌 변수를 보니 읽고 쓰기에 실패한 값이 JSON 형태가 아니라 텍스트 형태로 바뀌어 있었습니다. 자세히 살펴보니 JSON 값 중간에 개행문자가 들어 있으면 이를 JSON이라고 판정하지 않고 텍스트라고 판정하는 것 같았습니다. 그래서 텍스트로 형식이 바뀐 값에 JSON 읽는 기능으로 접근하니 에러를 냈던 겁니다.
그래프 | 결과 | 설명 |
---|---|---|
| 이 실험을 하고 나면 | |
|
| |
|
| |
위 단계에서 개행문자가 없는 값은 JSON 모양으로 잘 기록되어 있음. | ||
| 이번에는 중간에 개행문자가 있는 텍스트를 | |
개행문자가 포함된 값이 기록되어 JSON 중간에 개행문자가 들어간 상태. | ||
같은 변수를 JSON에 접근하는 방식으로 접근해 값을 쓰려고 하면 실패함. | ||
| 이 상황에서 Toolbox Pro for Shortcuts 앱을 열어 값을 확인해보면 JSON 타입이 아니라 텍스트 타입 (연두색) 이 되어 있음. |
처음에는 원래 JSON에는 값에 개행문자를 쓸 수 없는 건가 했는데 그건 아닌 것 같고 아마 Toolbox Pro for Shortcuts 앱 문제일 가능성이 높아 보입니다. 그냥 이전에 만든 딕셔너리 읽고 쓰기 숏컷을 사용해도 되지만 속도가 훨씬 느리니 어떻게든 이 기능을 사용하기로 했습니다. 대신 개행문자가 들어가면 안되니 JSON 모양으로 값을 넣기 전에 개행문자를 확인해 제거해야 합니다.