| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using FastJSON;
- using System;
- using System.Collections;
- namespace Top.Api.Parser
- {
- public class TopSimplifyJsonParser<T> : TopJsonParser<T> where T : TopResponse
- {
- 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.ERROR_RESPONSE))
- {
- data = rootJson[Constants.ERROR_RESPONSE] as IDictionary;
- }
- if (data != null)
- {
- ITopReader reader = new TopSimplifyJsonReader(data);
- rsp = (T)FromJson(reader, typeof(T));
- }
- }
- if (rsp == null)
- {
- rsp = Activator.CreateInstance<T>();
- }
- if (rsp != null)
- {
- rsp.Body = body;
- }
- return rsp;
- }
- }
- }
|