C# 开发,将List<Object> 中的数组序列化转换为JSON,以便保存或传送。

一般我们在开发C#应用程序的时候时常会使用自定义的List 数组来放置我们的数据,或许有时我们会想要将List内的对象存起来以供下次程序开启时使用,但是在Win store app 或Windows Phone app 开发时提供的Local Folder 和 Roaming Folder存放数据时并不能放入List的数组只能放入简单的String int double bool 之类的变量,所以我们可以尝试将List转换为JSON的文字,以便存放在这些空间里或是传送到其他地方。

本篇文章将引导您 将List 中的数组序列化转换为JSON

一般我们在开发C#应用程序的时候时常会使用自定义的List 数组来放置我们的数据,或许有时我们会想要将List内的对象存起来以供下次程序开启时使用,但是在Win store app 或Windows Phone app 开发时提供的Local Folder 和 Roaming Folder存放数据时并不能放入List的数组只能放入简单的String int double bool 之类的变量,所以我们可以尝试将List转换为JSON的文字,以便存放在这些空间里或是传送到其他地方。

本篇文章将引导您 将List 中的数组序列化转换为JSON

在这之前要有事前准备在[项目]→[管理NeGet套件]中下载Json.NET的套件。

我们要自定义一个类,就以学生的姓名和身高为例。

   1:  public class student_Item {
   2:      public string name { set; get; }//姓名
   3:      public int  tall { set; get; }//身高
   4:  }

再来主程序内建立假数据

   1:  //建立假数据
   2:  List student_Items = new List();
   3:  student_Items.Add(new student_Item() { name = "小美", tall = 166 });
   4:  student_Items.Add(new student_Item() { name = "小强", tall = 185 });
   5:  student_Items.Add(new student_Item() { name = "小明", tall = 148 });
   6:  student_Items.Add(new student_Item() { name = "小琪", tall = 186 });
   7:  student_Items.Add(new student_Item() { name = "小程", tall = 174 });
   8:  student_Items.Add(new student_Item() { name = "小杨", tall = 165 });

建完假数据后最重要的一行程序补上,该行程序便是将List序列化成JSON格式的字符串

   1:  string json_data = JsonConvert.SerializeObject(student_Items);//存放序列后的文字

整个程序看起来就会像这样子

   1:  List student_Items = new List();
   2:  student_Items.Add(new student_Item() { name = "小美", tall = 166 });
   3:  student_Items.Add(new student_Item() { name = "小强", tall = 185 });
   4:  student_Items.Add(new student_Item() { name = "小明", tall = 148 });
   5:  student_Items.Add(new student_Item() { name = "小琪", tall = 186 });
   6:  student_Items.Add(new student_Item() { name = "小程", tall = 174 });
   7:  student_Items.Add(new student_Item() { name = "小杨", tall = 165 });
   8:  ?
   9:  string json_data = JsonConvert.SerializeObject(student_Items);//存放序列后的文字

json_data里面的数据就会长得像这样了,是经过序列化后的JSON格式数据!!

[ { "name" : "小美",
    "tall" : 166
  },
  { "name" : "小强",
    "tall" : 185
  },
  { "name" : "小明",
    "tall" : 148
  },
  { "name" : "小琪",
    "tall" : 186
  },
  { "name" : "小程",
    "tall" : 174
  },
  { "name" : "小杨",
    "tall" : 165
  }
]

如此一来我们便学会了如何将List转换为JSON格式的数据啰!

文章中的叙述如有观念不正确错误的部分,欢迎告知指正 谢谢

转载请注明出处,并且附上本篇文章网址 !? 感谢。

SUKI

HOLIESTAR

https://www.facebook.com/Holiestar

https://www.facebook.com/firestar.register

原文:大专栏  C# 开发,将List<Object> 中的数组序列化转换为JSON,以便保存或传送。

原文地址:https://www.cnblogs.com/chinatrump/p/11496656.html

时间: 2024-10-07 12:29:44

C# 开发,将List<Object> 中的数组序列化转换为JSON,以便保存或传送。的相关文章

《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

<Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内容主要都是介绍如何在屏幕上显示图像,事实上除了图像之外,音乐的播放也可以被理解为一种显示的方式,本节将学习在Cocos2d-x中播放声音的方法. (1)在HelloWorld.h中对HelloWorld类进行如下定义: class HelloWorld : public Cocos2d::Layer { pu

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 分类: SharePoint2011-12-23 14:44 1584人阅读 评论(0) 收藏 举报 文档sharepointurl测试stringforms 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 1.在部署的sharepoint网站中新建一个名为“测试文档库”的文档库,并添加各级的子文件夹和子文件,用于测试 2.在VS2010中新建空

Object Pascal对象模型中构造函数之研究

http://www.delphi2007.net/delphiblog/html/delphi_2004511950333715.html 前言 近期,一直在使用 C++ 与 Object Pascal (后面简称 OP)深入学习面向对象编程(Object-Oriented Programming 后面简称 OOP). 说到 OOP ,其实我早在四年前就已经开始接触这个概念了,用 Delphi 作为开发平台,语言是 OP, 因为当时是我学习编程的初级阶段,感觉 Delphi 学习起来比较容易,

开发人员建议阅读:Spring Boot 架构中的国际化支持实践

pring Boot 主要通过 Maven 或 Gradle 这样的构建系统以继承方式添加依赖,同时继承了 Spring 框架中的优秀元素,减少了 Spring MVC 架构中的复杂配置,内置 Tomcat,Jetty 容器,使用 Java application 运行程序,而不是传统地把 WAR 包置于 Tomcat 等容器中运行,从而简化加速开发流程.此外,Spring Boot 学习简单.轻量级.容易扩展.基于这些优秀的特点,Spring Boot 成为了蓬勃发展的快速应用开发领域的领导者

C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息

在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码,希望从更高一个层次,向大家介绍微信的应用开发过程.本篇主要介绍在管理系统中,如何实现微信用户分组信息的同步操作. 其实微信能够风风火火的原因,主要就是因为有用户信息,所以同步并管理好微信账号的关注用户数据是非常重要的.有了微信用户的数据,你可以和你任何应用系统对接,实现系统-手机客户端的数据整合,还可以对用户进行营销管理,如发送用户感兴趣

[转]Android开发要看的网站(不断更新中)

Android网址或Blog Android官网 身为Android开发者不知道这个网站就太说不过去了,上面有你任何你需要的东西 Android Developers Blog Android官网博客, 在上面可以关注Android最新的进展与最权威的博客(须翻墙) Android开源项目汇总 我的好朋友Trinea整理的非常全面的GitHub开源项目汇总,不需要重复发明轮子,尽情遨游在开源世界里吧 Android的开源库 国外整理的Android开源库汇总,和上面的比起来分类更明确,你总能很方

Android 开发之开发插件使用:Eclipse 插件 SQLiteManger eclipse中查看数据内容--翻译

最近研究了一段时间Android开发后发现,google自带的ADT工具,缺失一些开发常用的东西,希望可以构建一个类似使用JAVA EE开发体系一样开发的工具包集合,包括前台开发,调试,到后台数据库的管理,到此,在网上逛了一遍发现这个一些常用的插件功能很强大,所以我决定做一系列翻译这些插件安装使用的教程,希望大家喜欢. 本文受益于这篇文章,所以决定翻译这篇文章中的一部分东西工具.19 个 Android 开发工具投递人 itwriter 发布于 2014-05-08 09:32 本文翻译:Ecl

Android开发如何在4.0及以上系统中自定义TitleBar

本文将通过一个实例讲解怎么实现在4.0及以上系统版本中实现自定义TitleBar,这只是我自己找到的一种方法; xml布局文件 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="m

算法-利用object的key唯一性删除数组重复项

# 利用object的key唯一性删除数组重复项 # uniq.html <!DOCTYPE html> <html lang="en"> <head>  <meta charset="UTF-8">  <title>Document</title>   <script type="text/javascript">        var arr=[12,34,2