글

라벨이 LitJson인 게시물 표시

Unity3D iOS LitJson KeyNotFoundException: The given key was not present in the dictionary

KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2[System.String,LitJson.JsonData].get_Item (System.String key) [0x00000] in <filename unknown>:0 at LitJson.JsonData.get_Item (System.String prop_name) [0x00000] in <filename unknown>:0 at iOSManager.ResultFriendsInfo (System.String jsonFriends) [0x00000] in <filename unknown>:0 (Filename: Line: -1)  유니티3D iOS 플러그인 작업중 LitJson 을 사용하는데 있어서 처음에는 잘되는데 2번째부터 위와 같은 오류가 발생했습니다. 안드로이드에서는 잘 되었는데 구글링을 해보니 다른 분들도 iOS에서 같은 오류가 발생 하는 것 같더군요. public void ResultFriendsInfo(string jsonFriends) { JsonReader reader = new JsonReader(jsonFriends); string strFacebookId = string.Empty; string strFacebookName = string.Empty; while(reader.Read()) { if(reader.Token.ToString() == "PropertyName" && reader.Value.ToString() == "FacebookId") { reader.Read(); strFacebookId = reader.Value.ToString(); } if(reader....

Unity3D에 쓸만한 JSON C# lib 뭐가 있을까? LitJson

이미지
 지난번에는 cocos2d-x에서 사용할만한 JSON C++ lib를 리서치 했었습니다. 이번에는 Unity3D에서 사용할 JSON C# lib를 리서치해봅니다. C#: fastJSON . JSON_checker . Jayrock . Json.NET - LINQ to JSON . LitJSON . JSON for .NET . JsonFx . JSON@CodeTitans How do I write my own parser? JSONSharp . JsonExSerializer . fluent-json Manatee Json  역시나 JSON 홈페이지 에는 위와같은 링크들이 있습니다. 이중에서 LitJSON 에 대해 정리해봅니다.  이미 상용화된 프로젝트에도 사용이 되었네요. 에어헌터 for Kakao를 만드신 분의 블로그에  LitJson 소개와 간단 사용법  이라고 정리가 되어있습니다. 즉, 유니티3D에서 iPhone과 Android용으로 적용이 가능하다는 말이죠.  설치는 간단합니다. LitJSON 공식홈페이지 에서 최신버전인 litjson-0.7.0을 다운받으셔도 되고 LitJSON의 GitHub 에서 받으셔도 됩니다. 그리고 압축해제 후 bin 디렉터리에 있는 LitJson.dll을 스샷과 같이 Assets\Plugins 안에 복사해줍니다.  유니티3D에서 JSON을 쓸만한 곳은 어디가 있을까요? 여러가지 유용한 부분이 있겠지만 저는  안드로이드와 유니티3D 통신 할 때 사용했던 UnityPlayer.UnitySendMessage의 3번째 인자 때문에 일단 사용하게 되었습니다. 3번째인자로 String뿐이 보낼 수 없으니까요. 페이스북 연동시 친구 리스트를 처리해야하는데 친구 한명한명 보낼수는 없자나요. 그래서 JSON으로 처리하게되었습니다. 관련한 샘플 소스를 보시면, Java JSONArray jsonArr = new JSO...