Unity3d 操作JSON数据

在做Unity3d游戏开发的时候,需要处理服务器或进配置文件的JSON数据,我使用了LitJson和NewtonsoftJson这两种,在使用Litjson的时候,遇到各种不顺利,这里就不多说了,还是感觉NewtonsoftJson好用,它的特点就是简单,好用。

NewtonsoftJson库导入

本次示例使用的Unity3d版本是2019.3.1f1,NewtonsoftJson的版本tag是8.0.3,它的github地址是:https://github.com/JamesNK/Newtonsoft.Json/tree/8.0.3
注意,网上很多示例都是导入它的dll文件,这样在unity3d编辑器里面使用是没有问题的,但是如果发布成安卓包就会有异常。所以要把NewtonsoftJson项目中src下面的Newtonsoft.Json中的原文件整个添加到unity3d的Plugins目录下,如图所示:
导入Json库

基本用法

  1. 对象转化为Json格式
   using Newtonsoft.Json;

    public static string JsonToString(object value)
    {
         return JsonConvert.SerializeObject(value);
    }
  1. Json格式转化为对象
   using Newtonsoft.Json;

    public static T JsonToObject<T>(string json)
    {
         return JsonConvert.DeserializeObject<T>(json);
    }
  1. 将对象序列化到文件
Movie movie = new Movie
{
    Name = "Bad Boys",
    Year = 1995
};

// serialize JSON to a string and then write string to a file
File.WriteAllText(@"c:\movie.json", JsonConvert.SerializeObject(movie));

还有一种方式,直接序列化到文件中:
// serialize JSON directly to a file
using (StreamWriter file = File.CreateText(@"c:\movie.json"))
{
    JsonSerializer serializer = new JsonSerializer();
    serializer.Serialize(file, movie);
}
  1. 反序列化数组
string json = @"['Starcraft','Halo','Legend of Zelda']";

List<string> videogames = JsonConvert.DeserializeObject<List<string>>(json);
  1. 反序列化为字典
string json = @"{
  'href': '/account/login.aspx',
  'target': '_blank'
}";

Dictionary<string, string> htmlAttributes = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);

更多高级用法,可以参考官网介绍:https://www.newtonsoft.com/json/help/html/Samples.htm#!

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wgslucky

各位都是我的衣食父母

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值