zoukankan      html  css  js  c++  java
  • 将一个简单对象转为Json字符串.

    将一个简单对象转为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;
                            }
                    }
            }
    }

  • 相关阅读:
    软件的安全性应从哪几个方面去测试?
    目前主要的测试用例设计方法是什么?
    什么是软件质量?
    软件配置管理的作用?软件配置包括什么?
    什么是软件测试?软件测试的目的与原则
    软件生存周期及其模型是什么?
    软件的概念和特点?软件复用的含义?构件包括哪些?
    一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
    在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试。
    测试08
  • 原文地址:https://www.cnblogs.com/houfeng/p/1671402.html
Copyright © 2011-2022 走看看