시각화/D3.js

▶프로세싱 활용노트⑥ :: JSONArray()

비주얼라이즈 2015. 3. 23. 15:07





▶프로세싱 활용노트⑥ :: JSONArray()


이 글에서는 D3에서도 많이 사용되는 JSON형태의 파일을 프로세싱에서 어떻게 다루는지 살펴보려고 한다.프로세싱 레퍼런스에서도 [Composite]하위문서로 array나 HashMap등의 함수들과 함께 JSON고 관련된 함수인JSONObject와 JSONArray를 다루고 있다.




프로세싱 공식홈페이지 내에서도 JSON관련 함수를 레퍼런스를 통해 제공하고있다.





JSON[JavaScript Object Notation]


개발관련 지식이 있는 사람이라면 그리 낯선 개념도 아니겠지만, 그게 아닌 경우도 있기때문에 한번 살펴보고 가려고 한다.



JSON은 데이터를 다루는 데 있어 컴퓨터에게도, 사람에게도 효율적인 구조를 갖추고 있다.이러한 JSON의 특징으로, 서울시열린데이터 광장이나 네이버, 다음 등 의 사이트에서 제공중인 API에도 대부분 json형태를 포함하고 있다.



서울시 열린데이터 광장의 API에서도 xml, xls등과 함께 json형태로도 데이터를 제공하고 있다.


기본적으로 JSON에 대해서 간략하게만 살펴보고 넘어가자


JSON은 두개의 구조를 기본으로 두고 있다:

  • name/value 형태의 쌍으로 collection 타입. 다양한 언어들에서, 이는 object, record, struct(구조체), dictionary, hash table, 키가 있는 list, 또는 연상배열로서 실현 되었다.
  • 값들의 순서화된 리스트. 대부분의 언어들에서, 이는 array, vector, list, 또는 sequence로서 실현 되었다.
자료 : www.json.org











JSONArray()의 기본내용


프로세싱에서 JSONArray는 JSON의본래 구조와 마찬가지로 JSONObjec(JSON객체)의배열을 저장한다. 직접 JSONObject()와 함께 활용하여 생성할 수도 있으며, loadJSONArray()함수로 저장되어있는 JSON파일을 로드해올 수 도 있다.



JSONArray의 메서드 목록


JSONArray의 메서드를 한글로 정리했다. 정리를 해보니 이게 딱히 더 이해하기 편한 형태는 아닌 듯 하다. 원래 내용을 하이퍼링크로 옮겨가며 확인하고 싶다면 Processing.org의 레퍼런스를 참고하는것을추천한다.






정수와 실수에 대한 내용은 생활코딩의 JAVA관련내용에서 확인할 수 있다.

*생활코딩URL : opentutorials.org/course/1223/5326















JSONArray에서. setJSONObect()와 setJSONArray()의 활용


 프로세싱에서의 JSON관련 레퍼런스는 다른 레퍼런스들 보다 복잡하고, 형태가 비슷해 처음보면 당황하기 쉽다.


위 사진은 JSONArray()에서 setJSONObject()와 setJSONArray()를 적용하는 과정을 나타낸 것이다. 아래로 주석처리가 된 것은 그에따른 결과물을 나타낸다. 





프로세싱을 공부하기전에 자바나 기타 다른 프로그래밍언어에서 array function관련 개념을 똑부러지게 접한 사람이라면 큰 어려움 없이 이해해나갈 수 있지만, 그렇지 않은경우라면 여러가지 array function 들의 사용방법에 어려움을 겪기 쉽다.