生活随笔
收集整理的這篇文章主要介紹了
                                
京东api接入的几个坑(宙斯)  转载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            =====
【
京東api接入的幾個坑(宙斯)
原創?2014年10月30日 17:43:51
寫這篇文章為了發下牢騷,鄙視下京東api上的不足, 懷念下下午的2個小時。。。。。
http://jos.jd.com/? 在宙斯平臺上的api調用,下載官方的sdk(java)? open-api-sdk.2.0.jar
[java]?view plain
?copy????????String?SERVER_URL?=?"http://gw.api.360buy.com/routerjson";??????????String?accessToken?=?"xxxxxxxxxxxxxxxxxxxx";??????????String?appKey?=?"F9060Cxxxxx37CFxxxxxxxxxxxxx";??????????String?appSecret?=?"748b2fbxxxxxca48xxxxxxxxxxxxx";????????????JdClient?client?=?new?DefaultJdClient(SERVER_URL,accessToken,appKey,appSecret);??????????????????????CategorySearchRequest?request=new?CategorySearchRequest();??????request.setFields(?"id,fid,status,lev,name,index_id"?);??????CategorySearchResponse?response=client.execute(request);??報錯:
[java]?view plain
?copyjava.lang.NoClassDefFoundError:?org/codehaus/jackson/map/ObjectMapper??????at?com.jd.open.api.sdk.internal.util.JsonUtil.<clinit>(JsonUtil.java:15)??????at?com.jd.open.api.sdk.request.list.WareCatelogyAttributeListGetRequest.getAppJsonParams(WareCatelogyAttributeListGetRequest.java:61)??????at?com.jd.open.api.sdk.DefaultJdClient.buildUrl(DefaultJdClient.java:107)??????at?com.jd.open.api.sdk.DefaultJdClient.execute(DefaultJdClient.java:73)??????at?com.yubao.jdsearch.jdapi.TestMain.testGetItemInfo(TestMain.java:31)??????at?sun.reflect.NativeMethodAccessorImpl.invoke0(Native?Method)??????at?sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)??????at?sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)??????at?java.lang.reflect.Method.invoke(Method.java:606)??????at?junit.framework.TestCase.runTest(TestCase.java:154)??????at?junit.framework.TestCase.runBare(TestCase.java:127)??????at?junit.framework.TestResult$1.protect(TestResult.java:106)??????at?junit.framework.TestResult.runProtected(TestResult.java:124)??????at?junit.framework.TestResult.run(TestResult.java:109)??????at?junit.framework.TestCase.run(TestCase.java:118)??????at?org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)??????at?org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)??Caused?by:?java.lang.ClassNotFoundException:?org.codehaus.jackson.map.ObjectMapper??????at?java.net.URLClassLoader$1.run(URLClassLoader.java:366)??????at?java.net.URLClassLoader$1.run(URLClassLoader.java:355)??????at?java.security.AccessController.doPrivileged(Native?Method)??????at?java.net.URLClassLoader.findClass(URLClassLoader.java:354)??????at?java.lang.ClassLoader.loadClass(ClassLoader.java:424)??????at?sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)??????at?java.lang.ClassLoader.loadClass(ClassLoader.java:357)??????...?21?more??
導入了一個jackson-all.2.0.jar 包又報錯,
[java]?view plain
?copyjava.lang.NoSuchMethodError:?org.codehaus.jackson.map.DeserializationConfig.set(Lorg/codehaus/jackson/map/DeserializationConfig$Feature;Z)V??????at?com.jd.open.api.sdk.internal.parser.JsonParser.<init>(JsonParser.java:24)??????at?com.jd.open.api.sdk.internal.parser.ParserFactory.<clinit>(ParserFactory.java:12)??????at?com.jd.open.api.sdk.DefaultJdClient.parse(DefaultJdClient.java:128)??????at?com.jd.open.api.sdk.DefaultJdClient.execute(DefaultJdClient.java:90)??????at?com.yubao.jdsearch.jdapi.TestMain.testGetItemInfo(TestMain.java:31)??????at?sun.reflect.NativeMethodAccessorImpl.invoke0(Native?Method)??????at?sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)??????at?sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)??????at?java.lang.reflect.Method.invoke(Method.java:606)??????at?junit.framework.TestCase.runTest(TestCase.java:154)??????at?junit.framework.TestCase.runBare(TestCase.java:127)??????at?junit.framework.TestResult$1.protect(TestResult.java:106)??????at?junit.framework.TestResult.runProtected(TestResult.java:124)??????at?junit.framework.TestResult.run(TestResult.java:109)??????at?junit.framework.TestCase.run(TestCase.java:118)??????at?org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)??????at?org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)??????at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)??
后來通過maven庫上找了依賴包,居然官方都沒有說明有第三方包需要導入,fk,, 純粹是自己嘗試著摸索的,哎。。。。。
[html]?view plain
?copy<dependency>??????????<groupId>org.codehaus.jackson</groupId>??????????<artifactId>jackson-core-asl</artifactId>??????????<version>1.8.11</version>??????</dependency>?????????<dependency>??????????<groupId>org.codehaus.jackson</groupId>??????????<artifactId>jackson-mapper-asl</artifactId>??????????<version>1.8.11</version>??????</dependency>??終于成功了。。。 yes,想說句,京東api開放的也太 niubility了。。。。
】
=====
jackson-core-asl-1.9.8.jar下載
https://pan.baidu.com/s/1zlbBqCeuLOX4tBrt0qeACg
jackson-mapper-asl-1.9.8.jar下載
https://pan.baidu.com/s/1nzbDmxTcao3gewGBOmq1tg
                            總結
                            
                                以上是生活随笔為你收集整理的京东api接入的几个坑(宙斯)  转载的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。