示例#1
0
        public static Response ParseFrom(long token, string buf)
        {
            Log.Trace("JSON Received: " + buf);
            var jsonResp = JObject.Parse(buf);
            var responseType = jsonResp["t"].ToObject<ResponseType>();
            var responseNotes = jsonResp["n"]?.ToObject<List<ResponseNote>>() ?? new List<ResponseNote>();
            ErrorType? et = jsonResp["e"]?.ToObject<ErrorType>();

            Builder res = new Builder(token, responseType);
            if( et != null )
            {
                res.errorType = et.Value;
            }
            return res.SetProfile((JArray)jsonResp["p"])
                .SetBacktrace((JArray)jsonResp["b"])
                .SetData((JArray)jsonResp["r"] ?? new JArray())
                .Build();
        }