项目经验分享

61 阅读1分钟

公司系统与其他系统交互或者说前端与后端交互,有时候会出现数据格式与目标格式不一致。如果按照常规处理是比较麻烦的,这时候不要急,可以先分析数据,看看是不是可以改造。比如加一些或减掉一些。下面这个就是加花括号。

   var format_str_sku = "{" + string.Format("'sku_list':{0}", str_sku_list) + "}";
                var _skus = JsonConvert.DeserializeObject<skus>(format_str_sku);

这样之后就可以序列化了。比起判断是强很多的。

还有一些需要传递数组的,如果用代码逻辑实现是真的很麻烦,但是利用字符串一些方法,那就轻轻实现。如下

      string format_sub_orderid = string.Format("[{0}]", _s);
         var res = _taobaoService.QueryPurchaseOrders(null, string.Format("[{0}]", purchase.PurchaseId));

还有一些查询,检测的如下:

  string str_images = dic_data["pic_urls"] != null ? dic_data["pic_urls"].ToString().TrimStart('[').TrimEnd(']') : "";
                    if (!string.IsNullOrWhiteSpace(str_images) && str_images.Contains(","))
                    {
                        string[] arr_images = str_images.Split(',');
                        if (arr_images.Length > 0)
                            __image = arr_images[0].Replace("\r\n", "").Replace("\"", "").Trim();
                    }
                    if (!string.IsNullOrWhiteSpace(__image))
                        current_order.Image_url = __image;

总结一下,就是在面对数据格式不满足要求的时候,我们要灵活多变,不要一根筋,想什么通用方法。能解决问题就是好方法,技巧。