java与unity3d项目中用的json作为基础通信的数据格式,java后端,json库那是一个泛滥,一直喜欢阿里的fastjson,强大、快速、容易上手。
Unity用的最新版本,其自带的json库感觉太弱了,于是在网上找了个Newtonsoft.Json库,这个在C#上用的比较多吧,不过粗略使用,不得不感叹,C#处理json弱爆了,当然,可能是很强大,但我只是粗略的使用,所以比较武断的下结论了。
UserInfo userInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo>(userInfoJson);
在此就贴一行Unity C#代码了,使用也比较简单,貌似反序列化赋值时是通过get/set属性方法实现的,如有其它设置直接通过属性赋值的,哪位知道的,可在评论区告知,谢谢!。
JObject jo = JsonConvert.DeserializeObject<JObject>(jsonstr);
在将json字符串数据转换成JObject(在Newtonsoft.Json.Linq包中)对象时,报了异常,具体啥异常,忘记了。解决方案如下:
Untiy中,主菜单中的File→Build Setting→Player Settings…→Other Setting→Api Compatibility Level设置为.Net 2.0即可。
Newtonsoft.Json下载地址:http://json.codeplex.com/
下载解压后选择2.0版本导入到Untiy编辑器中即可。
参考博文:http://blog.csdn.net/mysouling/article/details/50725218
感谢此博文的作者。