using FastJSON; using System; using System.Collections; using QimenCloud.Api; using Top.Api; using Top.Api.Parser; namespace QimenCloud.Api.Parser { public class QimenCloudSimplifyJsonParser : QimenCloudJsonParser where T : QimenCloudResponse { public override T Parse(string body) { T rsp = null; IDictionary rootJson = JSON.Parse(body) as IDictionary; if (rootJson != null) { IDictionary data = rootJson; if (rootJson.Contains(Constants.QIMEN_CLOUD_ERROR_RESPONSE)) { data = rootJson[Constants.QIMEN_CLOUD_ERROR_RESPONSE] as IDictionary; } if (data != null) { ITopReader reader = new TopSimplifyJsonReader(data); rsp = (T)FromJson(reader, typeof(T)); } } if (rsp == null) { rsp = Activator.CreateInstance(); } if (rsp != null) { rsp.Body = body; } return rsp; } } }