GeekCoders

[Unity] JsonFX 사용하기 본문

Client/Unity

[Unity] JsonFX 사용하기

령호 2015. 3. 4. 21:06


JsonFX.zip

JsonFX를 이용해서 Json파싱을 해본다.

Unity에서 사용할 수 있는 Json 라이브러리는 많다.

허나 문제점들이 있을 수 있으니 사전검색은 필수. (아래에서 한번 더 강조한다)

혹시 모를 상황에 대비해 본인소스코드를 한번 거치도록 작업한다.


JsonFX의 사용준비는 매우 쉽다.

JsonFX.dll 을 다운받고 유니티 Assets/Plugins 폴더 안에 넣으면 끝.


그럼 소스코드에서의 사용법을 알아보자.

마찬가지로 소스코드에서의 사용법도 매우 쉽다.

JsonFx.Json.JsonWriter.Serialize(object)로 string json을 만들 수 있다.

해당 함수는 object 자료형을 받는데, 테스트해본 결과 아직까지 문제를 일으킨 자료형은 없었다.


JsonFX.Json.JsonReader.Deserialize<T>(string)로 원하는 자료형의 json을 만들 수 있다.

T에 원하는 자료형을 넣으면 된다.


JsonFX를 사용하는 Json클래스

범용성을 고려해 Dictionary<string, object>로 만들어봤다.


value를 object로 사용할 경우 모든 자료형을 받을 수 있어서 범용적이나, 박싱 언박싱 관련된 성능이슈가 있고 한번의 캐스팅을 거쳐야 하기에 프로젝트에서 value의 자료형이 고정적이라면 해당 자료형으로 작성하는 걸 추천한다.




테스트



결과



개인적으로는 지금까지 사용해본 Json라이브러리중에서 제일 쉽고 간편하며, 범용성마저 뛰어났다.


다시 한번 말하지만 Unity 에서의 Json라이브러리를 선택할때에는 사전검색을 많이 해보길 추천한다.

일부 Json라이브러리가 iOS환경에서 리플렉션때문에 동작 안하는 경우가 있다.

아직 겪지 못했지만 Json라이브러리 문제때문에 많은 분들이 고생하는 모습을 봤다.


Unity Json 문제로 인한 글

http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_QnA_etc&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=hit&desc=asc&no=2616