Json互相序列化对象

Posted 有翅膀的大象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json互相序列化对象相关的知识,希望对你有一定的参考价值。

using System.ServiceModel;
using System.ServiceModel.Web;
using System.Runtime.Serialization.Json;
using System.IO;

namespace Common
{
    public class JsonUtility
    {
        public static string getJsonByObject(Object obj)
        {
            //实例化DataContractJsonSerializer对象,需要待序列化的对象类型
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
            //实例化一个内存流,用于存放序列化后的数据
            MemoryStream stream = new MemoryStream();
            //使用WriteObject序列化对象
            serializer.WriteObject(stream, obj);
            //写入内存流中
            byte[] dataBytes = new byte[stream.Length];
            stream.Position = 0;
            stream.Read(dataBytes, 0, (int)stream.Length);
            //通过UTF8格式转换为字符串
            return Encoding.UTF8.GetString(dataBytes);
        }

        public static Object getObjectByJson(string jsonString, Object obj)
        {
            //实例化DataContractJsonSerializer对象,需要待序列化的对象类型
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
            //把Json传入内存流中保存
            MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
            // 使用ReadObject方法反序列化成对象
            return serializer.ReadObject(stream);
        }

    }

  

以上是关于Json互相序列化对象的主要内容,如果未能解决你的问题,请参考以下文章

C# 对象与JSON串互相转换

基于jackson的Json与对象的互相转换

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

python序列化之pickle,json,shelve

如何从片段中的 JSON 响应中的对象获取数据

AFNewtorking 中的 JSON 序列化失败