将JSON格式的字符串读取到类中

本例中建立JSON格式的字符串json,将其内容读取到Person类中

运行本代码需要添加引用动态库Newtonsoft.Json

程序代码:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. //需要引用 Newtonsoft.Json.dll
  8. using Newtonsoft.Json;
  9.  
  10. namespace JsonTest
  11. {
  12. class Program
  13. {
  14. /// <summary>
  15. /// 人员类
  16. /// </summary>
  17. public class Person
  18. {
  19. public string name; //姓名
  20. public int age; //年龄
  21. public bool sex_is_male; //性别
  22.  
  23. public struct Partner //伙伴
  24. {
  25. public string partner_name; //伙伴姓名
  26. public int partner_age; //伙伴年龄
  27. public bool partner_sex_is_male; //伙伴性别
  28. }
  29. public Partner partner;
  30.  
  31. public string[] achievement; //成就
  32.  
  33. //构造函数
  34. public Person()
  35. {
  36. name = "";
  37. age = ;
  38. sex_is_male = true;
  39. partner.partner_name = "";
  40. partner.partner_age = ;
  41. partner.partner_sex_is_male = true;
  42. achievement = null;
  43. }
  44. }
  45.  
  46. static void Main(string[] args)
  47. {
  48. string json = string.Concat(
  49. "{",
  50. " \"name\":\"Tsybius\",",
  51. " \"age\":23,",
  52. " \"sex_is_male\":true,",
  53. " \"partner\":",
  54. " {",
  55. " \"partner_name\":\"Galatea\",",
  56. " \"partner_age\":21,",
  57. " \"partner_sex_is_male\":false",
  58. " },",
  59. " \"achievement\":[\"ach1\",\"ach2\",\"ach3\"]",
  60. "}"
  61. );
  62.  
  63. //将内容赋值到Person类
  64. Person p = JsonConvert.DeserializeObject<Person>(json);
  65. Console.WriteLine("name: " + p.name);
  66. Console.WriteLine("age: " + p.age);
  67. Console.WriteLine("sex_is_male: " + p.sex_is_male);
  68. Console.WriteLine("partner_name: " + p.partner.partner_name);
  69. Console.WriteLine("partner_age: " + p.partner.partner_age);
  70. Console.WriteLine("partner_sex_is_male: " + p.partner.partner_sex_is_male);
  71. Console.Write("achievement: ");
  72. foreach (string achv in p.achievement)
  73. {
  74. Console.Write(achv + " ");
  75. }
  76. Console.WriteLine();
  77.  
  78. Console.ReadLine();
  79. }
  80. }
  81. }

运行结果:

END

[转]C# JSON格式的字符串读取到类中的更多相关文章

  1. JSon_零基础_006_将JSon格式的字符串转换为Java对象

    需求: 将JSon格式的字符串转换为Java对象. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key ...

  2. json格式的字符串转为json对象遇到特殊字符问题解决

    中午做后台发过来的json的时候转为对象,可是有几条数据一直出不来,检查发现json里包含了换行符,造成这种情况的原因可能是编辑部门在编辑的时候打的回车造成的 假设有这样一段json格式的字符串 va ...

  3. 解决如下json格式的字符串不能使用DataContractJsonSerializer序列化和反序列化 分类: JSON 2015-01-28 14:26 72人阅读 评论(0) 收藏

    可以解决如下json格式的字符串不能使用DataContractJsonSerializer反序列化 {     "ss": "sss",     " ...

  4. android实现json数据的解析和把数据转换成json格式的字符串

    利用android sdk里面的 JSONObject和JSONArray把集合或者普通数据,转换成json格式的字符串 JSONObject和JSONArray解析json格式的字符串为集合或者一般 ...

  5. 在PHP代码中处理JSON 格式的字符串的两种方法:

    总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...

  6. C#将datatable的某一列转换成json格式的字符串

    将datatable的某一列转换成json格式的字符串(转换完后自己在字符串前后加{}) /// <summary> ///DataTable装换 Column数据 组合成json 现在的 ...

  7. JavaScript中,JSON格式的字符串与JSON格式的对象相互转化

    前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...

  8. 校验字符串是否是JSON格式,将不规则展示的json格式的字符串进行规则展示(json格式化)

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   var str = {"code": "","svcname" ...

  9. 【PHP函数】json_decode() ---- 对 JSON 格式的字符串进行解码

    json_decode() --- 对 JSON 格式的字符串进行解码 1.用法: mixed json_decode ( string $json [, bool $assoc = false [, ...

随机推荐

  1. APICloud框架——融云+UIChatTools实现即时通讯聊天

    今天完成了公司app的聊天界面的收发消息功能,结合融云2和UIChatTools模块实现,只是实现了基本功能,好多细节还没有实现,废话不多说,上代码 输入框页面(win) 先引入所需模块 // 融云模 ...

  2. 【LeetCode 19】删除链表的倒数第N个节点

    题目链接 [题解] 经典的一道题. 让p1指向链表的第一个元素. 让p2指向链表的第二个元素. 然后让他们俩同时往后移动. 直到p2到达链表的尾巴. 这时p1和p2之间总是隔了n-1个元素. 所以p1 ...

  3. 3-基于LoG的特征检测子

  4. RichView

    TRichView中文文档 TRichView 是Delphi/C++Builder  控件,主要用于显示.编辑和打印超文本文档. 新版本解决多个兼容性问题,更新了字符串标签.剪贴板.RTF和DB组件 ...

  5. 关于提BUG的一点思考以及工作中总结的规范

    在测试的工作中,提BUG是日常工作. 以前自己为了省事,省时,仅仅是截图,在图片上注明一下问题,就放到BUG库中了. 现在发现这样会造成开发的时间的浪费,增加了沟通成本. 对于BUG,当发现了异常时, ...

  6. 配置ssh连接会话复用免密码登录

    我们经常使用ssh连接远程主机,为了方便,避免每次登录输入密码,通常使用密钥登录.如果没有设置密钥, 则需要使用密码登录了,若每次都输入密码则十分繁琐.我们可以设置ssh连接会话复用,则登录成功后,会 ...

  7. 13、testng.xml对用例进行分组

    目录如下: TestGroup.java 代码如下: package com.testng.cn; import org.testng.annotations.*; import static org ...

  8. Codeforces 1189B Number Circle

    题目链接:http://codeforces.com/problemset/problem/1189/B AC代码: #include<bits/stdc++.h> using names ...

  9. js登陆验证错误不刷新页面

    验证函数返回 false;返回到onclickonclick 其实也是一个函数.. 所以需要加 return;

  10. react css拓展 使用less

    react 之中使用less 其实质只需要看一下resct 使用css的配置项,就能明白个大概了  第一步   还是下载 npm i  less less-loader -save 下载less 和 ...