• 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 }
  • 相关阅读:
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    206. Reverse Linked List
    205. Isomorphic Strings
    204. Count Primes
    203. Remove Linked List Elements
    201. Bitwise AND of Numbers Range
    199. Binary Tree Right Side View
    ArcGIS API for JavaScript 4.2学习笔记[8] 2D与3D视图同步
  • 原文地址:https://www.cnblogs.com/Jeremy2001/p/6639659.html
Copyright © 2020-2023  润新知