将对象序列化为字符串

时间:2017-08-02 08:14:42

标签: c# serialization deserialization

我正在研究TCP / IP项目,我需要通过套接字发送加密包。我已经完成了网络部分,我可以发送字符串,但我的所有包都是对象。所以我必须将我的包类序列化为字符串并对其进行加密,然后在客户端收到反序列化并解密之后。你帮帮我吗?

Package.cs

 public class Package
{
    private string context;
    public string Context
    {
        get { return context; }
        set { context = value; }
    }
    private bool flag;
    public bool Flag
    {
        get { return flag; }
        set { flag = value; }
    }
    private int statusCode;
    public int StatusCode
    {
        get { return statusCode; }
        set { statusCode = value; }
    }

    public Package() { this.context = null; }
}

1 个答案:

答案 0 :(得分:1)

对于序列化,您可以使用JavaScriptSerializer类。

然后将参考System.Web.Extensions添加到项目中;

private string Serialize(object obj){
var serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}

private object Deserialize(string json){
var serializer = new JavaScriptSerializer();
return serializer.Deserialize<object>(json);
}

对于加密/解密,您基本上可以使用Base64,但如果您想要更多特定答案,则需要详细说明您的要求。

相关问题