c#解析jobject的数据结构

作者:程序猿下山 时间:2023-09-28 00:25:33 

首先下载newtonsoft.json,增加引用using newtonsoft.json.linq;

把jobject的内容提取出来,jobject的内容格式如下:

{
   "code": 200,
   "msg": "success",
   "data": {
       "id": "12345678",
       "name": "张三",
       "sex": "男",
       "result": {
           "access_token": "49d58eacd7811e463429a1ae10b42173",
           "user_info": [
               {
                   "school": "社会大学",
                   "major": "软件开发",
                   "education": "本科",
                   "score": 97
               },
               {
                   "school": "湖南大学",
                   "major": "软件工程",
                   "education": "研究生",
                   "score": 100
               }
           ]
       }
   }
}

代码如下:

1:新建类

public class userinfo
{
   public string id { get; set; }
   public string name { get; set; }
   public string sex { get; set; }
   public string access_token { get; set; }
   public string school { get; set; }
   public string major { get; set; }
   public string education { get; set; }
   public string score { get; set; }
}

2:获取值

jobject result = new jobject();//假设result为数据结构
userinfo userinfo = new userinfo();
userinfo.id = result["data"].value<string>("id");//id
userinfo.name = result["data"].value<string>("name"); //name
userinfo.sex = result["data"].value<string>("sex"); //sex
userinfo.access_token= result["data"]["result"]["access_token"].tostring();//access_token
jarray res = result["data"]["result"].value<jarray>("user_info");
jobject obj = jobject.parse(res[0].tostring());//只获取数据结构中第一个userinfo里的数据信息
userinfo.school = obj.value<string>("school"); //schoool
userinfo.major = obj.value<string>("major");//major
userinfo.education = obj.value<string>("education");//education
userinfo.score= obj.value<string>("score");//score

来源:https://blog.csdn.net/zhengzyx2040/article/details/123376517

标签:c#,解析,jobject,数据,结构
0
投稿

猜你喜欢

  • SpringBoot下使用定时任务的方式全揭秘(6种)

    2022-06-13 01:34:48
  • 详解SpringBoot程序启动时执行初始化代码

    2022-05-07 13:36:05
  • Java Kryo,Protostuff,Hessian序列化方式对比

    2023-10-24 12:41:15
  • Mybatis基于xml配置实现单表的增删改查功能

    2021-09-29 11:21:48
  • @PathVariable和@RequestParam传参为空问题及解决

    2023-01-06 02:27:00
  • java多线程创建及线程安全详解

    2022-12-02 18:58:51
  • 详解java中static关键词的作用

    2023-12-02 00:32:00
  • 详解使用SSM实现简单工作流系统之实现篇

    2021-10-21 07:49:23
  • Spring源码之循环依赖之三级缓存详解

    2021-11-13 09:31:56
  • SpringMVC统一异常处理实例代码

    2021-05-31 02:29:26
  • C#查找对象在ArrayList中出现位置的方法

    2022-08-06 19:19:35
  • 浅谈一下Java中的悲观锁和乐观锁

    2023-08-12 05:54:27
  • Spring事务管理配置文件问题排查

    2022-07-04 15:55:25
  • Android实现自定义华丽的水波纹效果

    2023-10-03 23:12:50
  • C# lambda表达式原理定义及实例详解

    2021-07-26 21:44:44
  • java高并发写入用户信息到数据库的几种方法

    2023-07-09 08:45:49
  • 详解idea maven nexus 常见命令配置

    2021-06-07 18:29:03
  • 深入理解C♯ 7.0中的Tuple特性

    2023-10-28 09:33:14
  • Unity实现截图功能

    2022-02-18 11:36:18
  • 关于Spring源码是如何解决Bean的循环依赖

    2023-09-16 14:15:17
  • asp之家 软件编程 m.aspxhome.com