有没有一种简单的方法可以在c#中将messagepack转换为json?

有没有一种简单的方法可以在c#中将messagepack转换为json?,c#,json,sockets,msgpack,C#,Json,Sockets,Msgpack,所以我正在编写一个网络库,它使用neuecc messagepack通过套接字发送对象,有没有办法将其转换为JSON?我想这样做的原因是我有一个分裂的字符“;”我序列化到messagepack并将其添加到对象中,以在一个字节[]中分隔多个对象。有没有更好的方法来分离对象 private void Recieve() { try { if (IsConnected && Connection.Available

所以我正在编写一个网络库,它使用neuecc messagepack通过套接字发送对象,有没有办法将其转换为JSON?我想这样做的原因是我有一个分裂的字符“;”我序列化到messagepack并将其添加到对象中,以在一个字节[]中分隔多个对象。有没有更好的方法来分离对象

    private void Recieve()
    {
        try
        {
            if (IsConnected && Connection.Available > 0)
            {
                byte[] bytes = GetAllBytes();

                if (bytes != null)
                {
                    string json = ObjectParser.BytesToJson(bytes);

                    List<string> Sections = json.Split(new string[] { "\";\"" }, StringSplitOptions.None).Where(x => x != "" && x.Trim('"').Length > 0).ToList();

                    for (int i = 0; i < Sections.Count; i++)
                    {
                        string j = Sections[i];
                        byte[] b = ObjectParser.JsonToBytes(j);

                        if (ObjectParser.IsType<DisconnectionContext>(b))
                        {
                            DisconnectionContext ctx = ObjectParser.BytesToObject<DisconnectionContext>(b);
                            DisconnectedFrom(ctx);

                            return;
                        }
                        else
                        {
                            lock (LockObject)
                                ObjectQueue.Add(b);
                        }
                    }
                }
            }
        }
        catch (SocketException)
        {
            Running = false;
            DisconnectedFrom(new DisconnectionContext() { type = DisconnectionContext.DisconnectionType.FORCIBLE });
        }
        catch (ObjectDisposedException) { }
    }

    private byte[] GetAllBytes()
    {
        List<byte> FullObject = new List<byte>();

        bool CompleteObject = false;

        while (!CompleteObject && Running)
        {
            while (Connection.Available == 0) ;
            byte[] bytes = new byte[Connection.Available];

            int RecievedBytes = Connection.Receive(bytes);

            try
            {
                string json = ObjectParser.BytesToJson(bytes);
                if (json.Trim('"') != "")
                {
                    if (RecievedBytes < 65536) CompleteObject = true;
                    FullObject.AddRange(bytes);
                }
                else if (FullObject.Count == 0)
                {
                    CompleteObject = true;
                }
            }
            catch(Exception ex)
            {
                FullObject.AddRange(bytes);
            }
        }

        return FullObject.ToArray();
    }
private void receive()
{
尝试
{
如果(断开连接和连接。可用>0)
{
字节[]字节=GetAllBytes();
如果(字节数!=null)
{
字符串json=ObjectParser.BytesToJson(字节);
List Sections=json.Split(新字符串[]{“\”;\”“},StringSplitOptions.None)。其中(x=>x!=”“&&x.Trim(“”)。长度>0)。ToList();
对于(int i=0;i