• C# 对象与JSON串互相转换


    DoNet2.0 需要借助于Newtonsoft.Json.dll

     1 代码
     2 
     3 using System;
     4 using System.IO;
     5 using System.Text;
     6 using Newtonsoft.Json;
     7 
     8 namespace OfflineAcceptControl.UCTools
     9 {
    10     public class JsonTools
    11     {
    12         // 从一个对象信息生成Json串
    13         public static string ObjectToJson(object obj)
    14         {
    15            return JavaScriptConvert.SerializeObject(obj);
    16         }
    17         // 从一个Json串生成对象信息
    18         public static object JsonToObject(string jsonString, object obj)
    19         {
    20            return JavaScriptConvert.DeserializeObject(jsonString, obj.GetType());
    21         }
    22     }
    23 }

    Donet3.5自带了DLL处理json串

    注意引用:System.Runtime.Serialization,System.ServiceModel.Web

     1 代码
     2 
     3 using System;
     4 using System.Collections.Generic;
     5 using System.IO;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Runtime.Serialization;
     9 using System.Runtime.Serialization.Json;
    10 
    11 namespace CrjIIOfflineAccept.CrjIITools
    12 {
    13     public class JsonTools
    14     {
    15         // 从一个对象信息生成Json串
    16         public static string ObjectToJson(object obj)
    17         {
    18            DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
    19            MemoryStream stream = new MemoryStream();
    20            serializer.WriteObject(stream, obj);
    21            byte[] dataBytes = new byte[stream.Length];
    22            stream.Position = 0;
    23            stream.Read(dataBytes, 0, (int)stream.Length);
    24            return Encoding.UTF8.GetString(dataBytes);
    25         }
    26         // 从一个Json串生成对象信息
    27         public static object JsonToObject(string jsonString, object obj)
    28         {
    29            DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
    30            MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
    31            return serializer.ReadObject(mStream);
    32         }
    33     }
    34 }
  • 相关阅读:
    NHibernate初学者指南系列文章导航
    c# 类一般在哪里实例化,是在类内、方法内还是其他地方?
    日期和时间的正则表达式
    virtual和abstract区别
    VS2010和选中代码相同的代码的颜色设置,修改高亮颜色
    SqlServer表和EXCEL数据互相复制方法
    C#操作XML的方法
    1、Spring Boot 2.x 简介
    C语言学习系列(六)基本语法
    C语言学习系列(六)存储类
  • 原文地址:https://www.cnblogs.com/Jeremy2001/p/6639659.html
Copyright © 2020-2023  润新知