C#按需序列化对象为Json字符串
只贴代码,不解释了。新的代理类型确实很给力!
public static class JsonHelper
{
public static string ToJsonString<T>(IList<T> list, Func<T, string> fun)
{
StringBuilder buffer = new StringBuilder();
bool isFirst = true; foreach (T t in list)
{
if (!isFirst)
buffer.Append(","); buffer.Append(fun(t));
isFirst = false;
} return buffer.ToString();
} public static string ToJsonString<T>(T t, Func<T, string> fun)
{
return fun(t);
}
}
Josn Helper
实体类
public class Staff
{
public string StaffNo { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; } public Staff(string no, string fn, string ln)
{
StaffNo = no;
FirstName = fn;
LastName = ln;
}
}
Staff Class
测试代码
class Program
{
static void Main(string[] args)
{
Staff s = new Staff("", "", "");
IList<Staff> list = new List<Staff> { s,s }; JsonHelper.ToJsonString<Staff>(list, o=>string.Format("{{firstname:{0}}}", o.FirstName));
JsonHelper.ToJsonString<Staff>(s, o=>string.Format("{{firstname:{0}, lastname:{1}}}", o.FirstName, o.LastName)); Console.ReadLine();
}
}
Test code
收工,走人
C#按需序列化对象为Json字符串的更多相关文章
- javascript对象序列化(对象与JSON字符串的互换)
前一段时间用到h5的本地存储---需要把某个js对象存储在浏览器的本地存储中,用到了javascript对象的序列化与反序列化 所谓的序列化就是将对象的状态信息转换为可以存储或传输的形式的过程,基本上 ...
- JavaScript中JSON对象和JSON字符串的相互转化
一.JSON字符串转换为JSON对象 var str = '{"name":"cxh","sex":"man",&quo ...
- JS中JSON对象和JSON字符串的相互转化
转:http://www.cnblogs.com/wbyp/p/7086318.html 一.JSON字符串转换为JSON对象 var str = '{"name":"c ...
- fastjson,对象转json字符串的过程中对value为null的值的一些处理
前言 fastjson是一个非常好用的java库,用于操作对象json序列化等等. 问题 最近在写代码的时候遇到问题,通过JSON.toJSONString方法将一个实体对象转为json字符串,转出来 ...
- Springboot 通过FastJson实现bean对象和Json字符串互转
Json格式在后台服务中的重要性就不多说了,直入正题.首先引入pom文件,这里使用的是1.2.83版本 1 <dependency> 2 <groupId>com.alibab ...
- jQuery中json对象与json字符串互换
json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 根据“|”把字符串变成数组.spli ...
- 序列化对象为xml字符串
/// <summary> /// 序列化对象为xml字符串 /// </summary> /// <param name="obj" ...
- 前端页面使用 Json对象与Json字符串之间的互相转换
前言 在前端页面很多时候都会用到Json这种格式的数据,最近没有前端,后端的我也要什么都要搞,对于Json对象与Json字符串之间的转换终于摸清楚了几种方式,归纳如下! 一:Json对象转换为json ...
- Json对象与Json字符串互转(转载)
一.jQuery插件支持的转换方式 1 $.paseJSON(jsonstr);//将json字符串转换为json对象 二.浏览器支持的转换方式(Firefox,Chrome,Opera,Safair ...
随机推荐
- ubuntu VNC server 黑屏 yum源更新(ubuntu16.04)
更新yum源,备份/etc/apt/sources.list root@mgw-virtual-machine:~# nano /etc/apt/sources.list #添加源 # deb c ...
- sqlplus启动后的环境SQLPATH的设置
sqlplus启动时会查找和加载的两个文件login.sql和glogin.sql.其中glogin.sql文件默认存放在$ORACLE_HOME/sqlplus/admin目录下,login.sql ...
- du -sg 和df -g 所看的文件系统大小不一致
最近碰到一个问题: df -g 查看内存,发现空间已经满了,但是到对应目录查看,发现只用了一半的空间,感觉还有一半不见了. 经咨询其他人,给了两个解释: 1.fsck :使用Fsck命令修复损坏的分区 ...
- MS对WCF配置中security节点的解释
摘录地址:http://msdn.microsoft.com/zh-CN/library/azure/ms731347 <basicHttpBinding> 的 <security& ...
- Installing SCM-Manager
With SCM-Manager, people can share and manage Git, Mercurial and Subversion repositories over http e ...
- C/C++文件操作2
一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef struct { int level; /* fill/empty level of ...
- Java程序员的日常 —— 《编程思想》包和访问权限
包的作用 在C++中有命名空间的概念,这是因为,不同的项目或者人写出来的代码,可能名称是一样的.比如,java.util中有List,java.awt中也有List,那么我们在开发中,怎么会知道使用的 ...
- atitit. js 跨界面 页面 web cs 传值方法总结
atitit. js 跨界面 页面 web cs 传值方法总结 #--需求 js #---两个方法: 直接传跟跟间接传递... 1.直接传跟new form(param) web使用url方 ...
- paip.多维理念 输入法的外码输入理论跟文字输出类型精髓
paip.多维理念 输入法的外码输入理论跟文字输出类型精髓 通常,我们的输入法使用的外码是拼音,但是,这个的用户体验很差.. 应该使用多个外码类型... ##按照词汇来源,有如下几个 固有词ati 来 ...
- paip.log4j兼容linux windows 路径设置
paip.log4j兼容linux windows 路径设置 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...