虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > C#编程 > C#如何通过匿名类直接使用访问JSON数据详解

C#如何通过匿名类直接使用访问JSON数据详解
类别:C#编程   作者:码皇   来源:互联网   点击:

这篇文章主要给大家介绍了关于C 如何通过匿名类直接使用访问JSON数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。

实验目的

在C#和Rest/Restful以及其它的Web服务交互过程中,大量使用到JSON传递数据,如何快捷的转化C#对象到JSON和转化JSON到C#对象,成为开发过程中频繁使用的内容。传统的方式下,我们需要定义和JSON对象同步的C#类并实例化成对象以遍操作,这里提供了一个直接使用匿名类的方式,相较于传统方式可以少定义一些类,操作更加简便。

开发环境

实现步骤

1.创建工程:控制台程序,命名为JsonTest

2.添加组件:增加JSON组件

第一步:右键点击项目,选择“管理NuGet程序包”菜单


第二步:在"NuGet: JsonTest"选项卡中选择浏览,输入json后回车,选择Newtonsoft.Json,选择版本后点击安装按钮。


第三步:完成安装


3.编写代码:简单结构

JSON格式如下:

    {
    "name":"张三", "sex":"男", "birthday": "2018-02-09"}

CSharp代码

    using Newtonsoft.Json;
    using System;
    namespace JsonTest{
    class Program {
    static void Main(string[] args) {
    string jsonstr = JsonConvert.SerializeObject(new {
    name = "张三", sex = "男", birthday = "2018-02-09" }
    );
    Console.WriteLine("对象序列化后的字符串为:");
    Console.WriteLine(jsonstr);
    Console.WriteLine("nn字符串反序列化为对象后的值为:");
    var jsonobj = JsonConvert.DeserializeObject<dynamic>(jsonstr);
    Console.WriteLine("姓名:" + jsonobj.name);
    Console.WriteLine("性别:" + jsonobj.sex);
    Console.WriteLine("生日:" + jsonobj.birthday);
    Console.Read();
    }
    }
    }

执行结果


4.编写代码:数组的操作

CSharp代码

    using Newtonsoft.Json;
    using System;
    namespace JsonTest{
    class Program {
    static void Main(string[] args) {
    string jsonstr = JsonConvert.SerializeObject(new[]{
    new {
    name = "张三", sex = "男", birthday = "2018-02-09" }
    , new{
    name = "李四", sex = "男", birthday = "2018-02-09" }
    }
    );
    Console.WriteLine("对象序列化后的字符串为:");
    Console.WriteLine(jsonstr);
    Console.WriteLine("nn字符串反序列化为对象后的值为:");
    var jsonarr = JsonConvert.DeserializeObject<dynamic[]>(jsonstr);
    foreach (var jsonobj in jsonarr) {
    Console.WriteLine("姓名:" + jsonobj.name);
    Console.WriteLine("性别:" + jsonobj.sex);
    Console.WriteLine("生日:" + jsonobj.birthday);
    Console.WriteLine("---------------");
    }
    Console.Read();
    }
    }
    }

执行结果

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:

  • c#处理3种json数据的实例
  • C#实现json的序列化和反序列化实例代码
  • C#解析json文件的实现代码
  • asp.net(C#)解析Json的类代码
  • c#操作json示例分享
  • C#处理Json字符串实例分析
  • C#解析JSON实例
相关热词搜索: json数据的访问 浏览器访问json数据 json数