C#实现将类的内容写成JSON格式字符串的方法

 更新时间:2015年08月18日 12:43:08   作者:北风其凉  
这篇文章主要介绍了C#实现将类的内容写成JSON格式字符串的方法,涉及C#针对json格式数据转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#实现将类的内容写成JSON格式字符串的方法。分享给大家供大家参考。具体如下:

本例中建立了Person类,赋值后将类中内容写入到字符串中

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

程序代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//需要引用 Newtonsoft.Json.dll
using Newtonsoft.Json;
namespace JsonTest
{
 class Program
 {
  /// <summary>
  /// 人员类
  /// </summary>
  public class Person
  {
   public string name; //姓名
   public int age; //年龄
   public bool sex_is_male; //性别
   public struct Partner //伙伴
   {
    public string partner_name; //伙伴姓名
    public int partner_age; //伙伴年龄
    public bool partner_sex_is_male; //伙伴性别
   }
   public Partner partner;
   public string[] achievement; //成就
  }
  static void Main(string[] args)
  {
   //设置一个Person类
   Person p = new Person();
   p.name = "Tsybius";
   p.age = 23;
   p.sex_is_male = true;
   p.partner.partner_name = "Galatea";
   p.partner.partner_age = 21;
   p.partner.partner_sex_is_male = false;
   p.achievement = new string[] { "ach1", "ach2", "ach3" };
   //直接输出
   Console.WriteLine("Formatting.None:");
   string json1 = JsonConvert.SerializeObject(p);
   Console.WriteLine(json1 + "\n");
   //缩进输出
   Console.WriteLine("Formatting.Indented:");
   string json2 = JsonConvert.SerializeObject(p, Formatting.Indented);
   Console.WriteLine(json2 + "\n");
   Console.ReadLine();
  }
 }
}

运行结果:

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • c#中使用自动属性减少代码输入量

    c#中使用自动属性减少代码输入量

    .Net 3.0中的自动属性可以大幅度降低我们输入的代码量,需要的朋友可以参考下
    2012-12-12
  • C#操作DataGridView设置单元格只读

    C#操作DataGridView设置单元格只读

    这篇文章介绍了C#操作DataGridView设置单元格只读的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 使用C#在注册表中保存信息的例子

    使用C#在注册表中保存信息的例子

    最近做的项目需要在注册表中记录一些用户设置,方便在程序下次启动时读取设置,应用上次用户保存的设置,挺简单的
    2014-04-04
  • C#中使用ArrayPool和MemoryPool实例

    C#中使用ArrayPool和MemoryPool实例

    对资源的可复用是提升应用程序性能的一个非常重要的手段,比如本篇要分享的 ArrayPool 和 MemoryPool,它们就有效的减少了内存使用和对GC的压力,从而提升应用程序性能。感兴趣的可以了解一下
    2021-05-05
  • c# 冒泡排序算法(Bubble Sort) 附实例代码

    c# 冒泡排序算法(Bubble Sort) 附实例代码

    这篇文章主要介绍了c# 冒泡排序算法,需要的朋友可以参考下
    2013-10-10
  • c#图片处理之图片裁剪成不规则图形

    c#图片处理之图片裁剪成不规则图形

    最近项目要求实现不规则裁剪功能。本来想用html5的canvas在前端实现的,但是发现有点困难,以下为C#端对图对片的处理
    2014-05-05
  • C# goto语句的具体使用

    C# goto语句的具体使用

    # goto 语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成。本文主要介绍了C# goto语句的具体使用,感兴趣的可以了解一下
    2021-06-06
  • Unity Shader实现2D游戏迷雾

    Unity Shader实现2D游戏迷雾

    这篇文章主要为大家详细介绍了Unity Shader实现2D游戏迷雾,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • WPF如何自定义TabControl控件样式示例详解

    WPF如何自定义TabControl控件样式示例详解

    这篇文章主要给大家介绍了关于WPF如何自定义TabControl控件样式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • 在WPF中实现全局快捷键功能

    在WPF中实现全局快捷键功能

    这篇文章介绍了在WPF中实现全局快捷键功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论