http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4469|回复: 2

[其他] Newtonsoft.Json 老报错,有什么解决办法没

[复制链接]
发表于 2014-8-15 13:27:23 | 显示全部楼层 |阅读模式
1金钱



解析json的时候.返回的数据解析时我try 了抓住了.但有时这步通过时.取值的时候也时不时报,而且一报错就挂了.我也没追踪是哪个数据出现的问题. 烦死了


因为 json 的各种结构的值.要取的值太多.我不可能每个取值步骤都try 一下吧



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-8-15 14:17:53 | 显示全部楼层
你貌似在发牢骚但并没有说清楚你的问题。我思路,Newtonsoft.Json你是怎么用它来解析的。或者是贴一下解析相关的代码和Json格式。看看。
回复

使用道具 举报

 楼主| 发表于 2014-8-16 12:49:33 | 显示全部楼层
站长苏飞 发表于 2014-8-15 14:17
你貌似在发牢骚但并没有说清楚你的问题。我思路,Newtonsoft.Json你是怎么用它来解析的。或者是贴一下解析 ...

[C#] 纯文本查看 复制代码
  /// <summary>
        /// 获取指定计划的全部宝贝
        /// </summary>
        /// <param name="plan">计划</param>
        /// <returns></returns>
        public List<structrueIitem> GetShopPlanItemList(structrueShopPlan plan)
        {
            string LogTitle = "获取推广计划宝贝";
            Class_tools.Class_System.log("[{0}] ", LogTitle);
            List<structrueIitem> result = new List<structrueIitem>();
            Class_tools.Class_System.log("[{0}] 正在获取:{1} 计划中的宝贝...", LogTitle,plan.campaignName);
            httpItem.URL =string.Format( "http://pub.alimama.com/campaign/merchandiseDetail.json?campaignId={0}&"+
                "shopkeeperId={1}&userNumberId={2}&tab=2&omid={3}&toPage=1&perPagesize=40",
                plan.campaignId,
                plan.shopkeeperId,
                plan.userNumberId,
                plan.omid
                );
            string htmlCode = http.GetHtml(httpItem).Html;
           
            JObject job = null;
            try
            {
                job = JObject.Parse(htmlCode);
            }
            catch (Exception)
            {

                Class_tools.Class_System.log("[{0}] 异常! JSON解析错误..如果频繁提示此信息,有可能登陆cookie已失效.", LogTitle);
                return result;
            }

            if (job == null)
            {
                return result;
            }

            IEnumerable<JObject> jto = job["data"]["pagelist"].Values<JObject>();
            
            foreach (var item in jto)
            {
                structrueIitem taobaoItem = new structrueIitem();

                //开始取值
                
                taobaoItem.itemImgUrl = item["pictUrl"].ToString();
                taobaoItem.itemPrice = item["zkPrice"].ToString();
                taobaoItem.itemTitle = item["title"].ToString();
                taobaoItem.itemUrl = item["auctionUrl"].ToString();
                taobaoItem.itemAilimamaUrl = "";// 因为客户要求全部连接到店铺首页,所以直接附值店铺阿里巴马连接即可
                result.Add(taobaoItem);
                #region 原JSON 结构预览


                /*
                "{groupId": null,
                "userId": "660db0298f8a09e657f69a5cc3531578",
                "userType": 1,
                "auctionUrl": "http://item.taobao.com:80/item.htm?id=38399171122",
                "userNumberId": "760761584",
                "zkPrice": 128,
                "pictUrl": "http://img04.taobaocdn.com/bao/uploaded/i4/T19AhcFGFaXXXXXXXX_!!0-item_pic.jpg",
                "title": "爱丽缇 女装夏装2014新款 上衣纯色蝙蝠短袖蕾丝雪纺衫淑女防晒衫",
                "groupRate": 0,
                "commissionRatePercent": 7,
                "nick": "爱丽缇旗舰店",
                "shopUrl": "http://store.taobao.com/shop/view_shop.htm?user_number_id=760761584",
                "auctionId": "38399171122",
                "totalFee": 220.04,
                "totalNum": 203,
                "commissionRate": 700,
                "auctionType": "b",
                "p4pPrice": "",
                "creativeRate": "",
                "zkRate": 6.2,
                "biz30day": 391,
                "shopKeeperCardURL": null,
                "reservePrice": 206,
                "commentCount": "4729",
                "tradeCount": 0,
                "creativeCommissionRatePercent": 0,
                "creativeRealRatePercent": 0,
                "creativeCalCommission": 0,
                "commission": 0,
                "commissionMoney": null,
                "totalFeeMoney": {
                    "currency": "CNY",
                    "currencyCode": "CNY",
                    "amount": 220.04,
                    "cent": 22004,
                    "centFactor": 100,
                    "displayUnit": "元"
                },
                "dbId": null,
                "calCommission": 8.96,
                "groupCommission": 0,
                "calCommissionMoney": {
                    "currency": "CNY",
                    "currencyCode": "CNY",
                    "amount": 14.42,
                    "cent": 1442,
                    "centFactor": 100,
                    "displayUnit": "元"
                },
                "paysubsidyRate": null,
                "paysubsidyCommission": null,
                "oldCommissionRate": 0,
                "hasCommonCampaign": true,
                "groupIds": "0",
                "groupRates": "0",
                "p4pPriceYuan": 0,
                "zkType": "手机特惠"
            }
                 */
                #endregion
            }
            return result;
        }


这是其中一个方法呢.麻烦老大帮我看下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-24 16:37

© 2014-2021

快速回复 返回顶部 返回列表