• c# 对象 与 Json串 转换


    下面的对象与json串之间的转换在framework2.0下测试通过
    注意:需要下载 Newtonsoft.Json.dll,并引用到项目中
    using System;
    using System.IO;
    using System.Text;
    using Newtonsoft.Json;
    
    namespace OfflineAcceptControl.UCTools
    {
        public class JsonTools
        {
            // 从一个对象信息生成Json串
            public static string ObjectToJson(object obj)
            {
               return JavaScriptConvert.SerializeObject(obj);
            }
            // 从一个Json串生成对象信息
            public static object JsonToObject(string jsonString, object obj)
            {
               return JavaScriptConvert.DeserializeObject(jsonString, obj.GetType());
            }
        }
    }
    
    
    下面的对象与json串之间的转换在framework3.5下测试通过
    注意引用:System.Runtime.Serialization,System.ServiceModel.Web
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Json;
    
    namespace CrjIIOfflineAccept.CrjIITools
    {
        public class JsonTools
        {
            // 从一个对象信息生成Json串
            public static string ObjectToJson(object obj)
            {
               DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
               MemoryStream stream = new MemoryStream();
               serializer.WriteObject(stream, obj);
               byte[] dataBytes = new byte[stream.Length];
               stream.Position = 0;
               stream.Read(dataBytes, 0, (int)stream.Length);
               return Encoding.UTF8.GetString(dataBytes);
            }
            // 从一个Json串生成对象信息
            public static object JsonToObject(string jsonString, object obj)
            {
               DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
               MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
               return serializer.ReadObject(mStream);
            }
        }
    }
    

      

  • 相关阅读:
    Idea中Module is not specified解决办法
    Navicat 导入数据时报Incorrect datetime value: '0000-00-00 00:00:00.000000' 错误
    SQL Server错误18456,window身份验证登录失败解决办法
    Linq
    web.config配置数据库连接
    $.ajax()方法详解
    将一张图片上传到指定的文件夹,然后在窗体上的PictrueBox控件中显示出来
    winform中picturebox自适应图片大小
    C#中产生SQL语句的几种方式
    [转]ORACLE触发器详解
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/2299684.html
Copyright © 2020-2023  润新知