将一个简单对象转为Json字符串.
2010-02-22 17:38
483 查看
将一个简单对象转为Json字符串.
转换时,只对属性,成员变量做转换.
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace ObjectToJson
{
public class ObjectToJson
{
private Object _Ins;
/// <summary>
///
/// </summary>
/// <param name="ins">简单对象</param>
public ObjectToJson(object ins)
{
_Ins = ins;
}
/// <summary>
/// 输入Json字符串
/// </summary>
/// <returns></returns>
public string ToJsonString()
{
return ToJsonScring(_Ins);
}
/// <summary>
/// 输入Json字符串
/// </summary>
/// <param name="ins"></param>
/// <returns></returns>
private string ToJsonScring(object ins)
{
Type a = ins.GetType();
StringBuilder sb = new StringBuilder();
sb.Append("{");
MemberInfo[] mis = a.GetMembers();
foreach (MemberInfo mi in mis)
{
object mival = GetMemberValue(ins, mi);
if (mival != null)
{
sb.Append("\"");
sb.Append(mi.Name);
sb.Append("\":\"");
string mivaltypename = mival.GetType().Name.ToUpper();
sb.Append(mival.ToString());
sb.Append("\",");
}
}
sb.Remove(sb.Length - 1, 1);
sb.Append("}");
if (sb.Length > 2)
return sb.ToString();
else
return "";
}
/// <summary>
/// 取一个字段或属性的值.
/// </summary>
/// <param name="ins"></param>
/// <param name="member"></param>
/// <returns></returns>
private object GetMemberValue(object ins, MemberInfo member)
{
Type a = ins.GetType();
try
{
return a.InvokeMember(member.Name, BindingFlags.GetProperty | BindingFlags.GetField, null, ins, null);
}
catch
{
return null;
}
}
}
}
转换时,只对属性,成员变量做转换.
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace ObjectToJson
{
public class ObjectToJson
{
private Object _Ins;
/// <summary>
///
/// </summary>
/// <param name="ins">简单对象</param>
public ObjectToJson(object ins)
{
_Ins = ins;
}
/// <summary>
/// 输入Json字符串
/// </summary>
/// <returns></returns>
public string ToJsonString()
{
return ToJsonScring(_Ins);
}
/// <summary>
/// 输入Json字符串
/// </summary>
/// <param name="ins"></param>
/// <returns></returns>
private string ToJsonScring(object ins)
{
Type a = ins.GetType();
StringBuilder sb = new StringBuilder();
sb.Append("{");
MemberInfo[] mis = a.GetMembers();
foreach (MemberInfo mi in mis)
{
object mival = GetMemberValue(ins, mi);
if (mival != null)
{
sb.Append("\"");
sb.Append(mi.Name);
sb.Append("\":\"");
string mivaltypename = mival.GetType().Name.ToUpper();
sb.Append(mival.ToString());
sb.Append("\",");
}
}
sb.Remove(sb.Length - 1, 1);
sb.Append("}");
if (sb.Length > 2)
return sb.ToString();
else
return "";
}
/// <summary>
/// 取一个字段或属性的值.
/// </summary>
/// <param name="ins"></param>
/// <param name="member"></param>
/// <returns></returns>
private object GetMemberValue(object ins, MemberInfo member)
{
Type a = ins.GetType();
try
{
return a.InvokeMember(member.Name, BindingFlags.GetProperty | BindingFlags.GetField, null, ins, null);
}
catch
{
return null;
}
}
}
}
相关文章推荐
- JS JSON对象转为字符串的简单实现方法
- JS JSON对象转为字符串的简单实现方法
- JAVA中如何将一个json形式的字符串转为json对象
- 一个简单的json对象和json字符串互相转换的方法
- JS JSON对象转为字符串的简单实现方法
- JackSon将一个对象转为Json字符串
- Jquery将一个object对象转换成json字符串
- 微信自定义菜单,php配置一个多维数组,通过json_encode()生成json字符串,中文会转为\uxxxx,微信报错!
- c# json字符串转为对象
- 将一个对象转化为类json风格字符串的工具类
- JS JSON对象转为字符串
- JSON(1):如何将符合json语法的字符串转换为一个JS对象
- C# -- 把json字符串转为对象并读取各属性的值
- $.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象。
- JSON.parseObject将字符串转为bean对象
- delphi生成JSON格式字符串的一个简单的类
- 不通过struts2,直接将Json对象转为字符串返回到jsp页面
- 各种对象转为json字符串
- js中字符串数据转为json对象的方法
- @RequestBody接收的是一个Json对象的字符串