Newtonsoft.Json.dll 的使用

1.类库说明

Newtonsoft.Json.dll是.NET 下开源的json格式序列号和反序列化的类库,利用此类库,可以方便地操作json数据,其中在反序列化时,可以直接将格式化的json数据处理成预定义的实体类,也可以生成对应的匿名类

2.环境配置

  • 1通过NuGet程序包直接配置
    在对应项目的引用选项上右键,在弹出菜单中选择”管理NuGet程序包”,在搜索框中搜索json,找到Newtonsoft.Json,等待安装完毕
    这里写图片描述
    这里写图片描述
  • 2.直接引用dll
    直接在项目中引用Newtonsoft.Json.dll即可

3.json序列化

1).预定义实体类

        /// <summary>
        /// 用于测试的预定义实体类
        /// </summary>
        class JsonTest
        {
            /// <summary>
            /// 初始化
            /// </summary>
            public void Init()
            {
                JsonTest test = new JsonTest();
                test.Id = "2017";
                test.Name = "测试数据";
                test.Data = new List<string>() { "1", "2", "3", "4", "5" };
            }

            List<String> _Data = new List<string>();

            public List<String> Data
            {
                get { return _Data; }
                set { _Data = value; }
            }

            String _Name = String.Empty;

            public String Name
            {
                get { return _Name; }
                set { _Name = value; }
            }

            String _Id = String.Empty;

            public String Id
            {
                get { return _Id; }
                set { _Id = value; }
            }
        }

2).序列化自定义实体类的对象

        static void Main(string[] args)
        {
           SerializeTest();
            Console.ReadLine();
        }


        public static void SerializeTest()
        {
            JsonTest test = new JsonTest();
            test.Init();
            String json = JsonConvert.SerializeObject(test,Formatting.Indented);

            Console.WriteLine(json);
        }

例子中使用了JsonConvert.SerializeObject的一个重载方法 Formatting是一个枚举类型,表示是否将json数据格式化,运行效果如下

这里写图片描述

4.反序列化

1).反序列化为预定义实体类

        static void Main(string[] args)
        {
           DeSerializeTest();
            Console.ReadLine();
        }

        public static void DeSerializeTest()
        {
            String jsonstr = "{\"Id\":\"2017\",\"Name\":\"测试数据\",\"Data\":[\"1\",\"2\",\"3\",\"4\",\"5\"]}";
            var test = JsonConvert.DeserializeObject<JsonTest>(jsonstr);
            String str = "Id:{0}\nName:{1}\nData:{2}";

            Console.WriteLine(str, test.Id, test.Name, String.Join(",", test.Data));
        }

反序列化为实体类时,调用JsonConvert.DeserializeObject,参数为待序列化的json字符串,运行效果如下
这里写图片描述

1).反序列化为预定义实体类

需要引入名空间 using Newtonsoft.Json.Linq

        static void Main(string[] args)
        {
            DeSerializeTest_Anonymous();
            Console.ReadLine();
        }
        public static void DeSerializeTest_Anonymous()
        {
            String jsonstr = "{\"Id\":\"2017\",\"Name\":\"测试数据\",\"Data\":[\"1\",\"2\",\"3\",\"4\",\"5\"]}";
            var test = JsonConvert.DeserializeObject(jsonstr) as JObject;
            String str = "Id:{0}\nName:{1}\nData:{2}";

            Console.WriteLine(str, test["Id"], test["Name"], String.Join(",", test["Data"]));
        }

运行结果
这里写图片描述

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity2019是一款非常流行的游戏开发引擎,而Newtonsoft.Json.dll是一个非常常用的Json处理库。Newtonsoft.Json.dll可以帮助我们在Unity2019中进行Json数据的序列化和反序列化操作。 在Unity2019中,使用Newtonsoft.Json.dll可以非常方便地将对象转换为Json格式的字符串,或者将Json格式的字符串转换为对象。这对于网络通信、存储数据或者配置文件的读写等场景非常有用。 使用Newtonsoft.Json.dll进行序列化时,我们可以使用一些属性来控制Json的生成方式,比如可以指定属性的命名规则、设置日期格式化方式、对空值进行处理等等。这些属性可以帮助我们更好地控制和优化Json数据的生成过程。 在反序列化方面,使用Newtonsoft.Json.dll可以帮助我们将Json格式的字符串快速地转换为对应的对象。我们可以使用一些特性来指定如何解析Json数据,比如可以使用JsonProperty来指定Json字段与对象属性之间的映射关系。 除了基本的序列化和反序列化功能之外,Newtonsoft.Json.dll还提供了一些高级功能,比如将对象序列化为Xml格式、处理动态类型、处理匿名类型等等。这些功能可以帮助我们更加灵活地处理Json数据。 总之,Unity2019中使用Newtonsoft.Json.dll可以帮助我们方便地进行Json数据的处理,节省了我们自己编写Json解析代码的时间和精力,提高了开发效率。它是Unity开发中不可或缺的重要工具之一。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值