WEBAPI返回值读取通用方法原创
金蝶云社区-湖南客户成功吴双得
湖南客户成功吴双得
73人赞赏了该文章 1,396次浏览 未经作者许可,禁止转载编辑于2023年02月27日 21:53:17

WebAPI的返回结果通常都是如下格式

返回结果:

{"Result":{"ResponseStatus":{"ErrorCode":"","IsSuccess":"false","Errors":[{"FieldName":"","Message":"","DIndex":0}],"SuccessEntitys":[{"Id":"","Number":"","DIndex":0}],"SuccessMessages":[{"FieldName":"","Message":"","DIndex":0}],"MsgCode":""},"Id":"","Number":"","NeedReturnData":[{}]}}


通用解析方法:

一、解析成功内容

        public static JArray APIResultSuccess(object retobj)
        {
            JObject jObject = JObject.Parse(JsonConvert.SerializeObject(retobj));
            JArray array = new JArray();
            array = jObject.Value<JObject>("Result").Value<JObject>("ResponseStatus").Value<JArray>("SuccessEntitys");
            return array;
        }


二、解析失败内容

        public static string APIResultErrors(object retobj)
        {
            JObject jObject = JObject.Parse(JsonConvert.SerializeObject(retobj));
            JArray array = new JArray();
            array = jObject.Value<JObject>("Result").Value<JObject>("ResponseStatus").Value<JArray>("Errors");
            string strReturn = string.Empty;
            JObject jobRetBody ;

            foreach (var jErr in array)
            {
                jobRetBody = JObject.Parse(jErr.ToString());
                strReturn += jobRetBody["Message"].Value<string>();
            }

            return strReturn;
        }


赞 73