给我投了反对票为这个职位,请考虑这些事实面前....ANDROID:如何从此链接获取信息http://api.discogs.com/artist/ac/dc?
我已经尝试了许多e.gs从互联网解析信息,
有的说是上面的链接是其中的JSON由看起来像XML,有人说其在XML ...
<resp stat="ok" version="2.0">
<artist>
<images>
<image height="480" type="primary" uri="http://api.discogs.com/image/A-29735-1232126311.jpeg" uri150="http://api.discogs.com/image/A-150-29735-1232126311.jpeg" width="471"/>
<image height="495" type="secondary" uri="http://api.discogs.com/image/A-29735-1147363179.jpeg" uri150="http://api.discogs.com/image/A-150-29735-1147363179.jpeg" width="574"/>
<image height="480" type="secondary" uri="http://api.discogs.com/image/A-29735-1147363173.jpeg" uri150="http://api.discogs.com/image/A-150-29735-1147363173.jpeg" width="600"/>
<image height="299" type="secondary" uri="http://api.discogs.com/image/A-29735-001.jpg" uri150="http://api.discogs.com/image/A-150-29735-001.jpg" width="299"/>
<image height="298" type="secondary" uri="http://api.discogs.com/image/A-29735-1147363246.jpeg" uri150="http://api.discogs.com/image/A-150-29735-1147363246.jpeg" width="451"/>
<image height="600" type="secondary" uri="http://api.discogs.com/image/A-29735-1259307969.jpeg" uri150="http://api.discogs.com/image/A-150-29735-1259307969.jpeg" width="600"/>
<image height="300" type="secondary" uri="http://api.discogs.com/image/A-29735-1306883944.jpeg" uri150="http://api.discogs.com/image/A-150-29735-1306883944.jpeg" width="300"/>
</images>
<id>29735</id>
<name>Coldplay</name>
<profile>
Coldplay is an English rock band from London, England. They've been a band since January 16, 1998 when they lost a demotape competition on XFM in London. Philip Christopher Harvey is the band's manager. [b][u]Line-up:[/u][/b] Jonny Buckland (Jonathan Mark Buckland) - Guitar Will Champion (William Champion) - Drums Guy Berryman (Guy Rupert Berryman) - Bass Chris Martin (Christopher Anthony John Martin) - Vocals
</profile>
<data_quality>Correct</data_quality>
<urls>
<url>http://www.coldplay.com</url>
<url>http://www.myspace.com/coldplay</url>
<url>http://www.youtube.com/ColdplayTV</url>
<url>http://www.twitter.com/coldplay</url>
<url>http://www.facebook.com/pages/Coldplay/15253175252</url>
<url>http://en.wikipedia.org/wiki/Coldplay</url>
</urls>
<namevariations>
<name>Cold Play</name>
<name>Cold Played</name>
<name>Cold Player, The</name>
<name>Coldplay, The</name>
<name>Goldplay</name>
</namevariations>
<members>
<name>Chris Martin</name>
<name>Guy Berryman</name>
<name>Jon Buckland</name>
<name>Will Champion</name>
</members>
</artist>
</resp>
我不知道自己在什么格式它,但看起来像XML来我..我 不记得,但如何我能够从这个页面获得json的信息,而不是从我的代码,但通过玩这个网页(我没有你SE虽然转换器)
{"resp": {"status": true, "version": "2.0", "artist": {"profile": "An Australian rock band, formed in 1973 by Angus and Malcolm Young, they teamed up with Dave Evans (vocals), Larry Van Kriedt (bass) and Colin Burgess (drums). In 1974 both Larry Van Kriedt and Colin Burgess left and were replaced by Rob Bailey (bass) and Peter Clack (drums), a further change in 1974 saw Peter Clack leave and Tony Currenti (drums) join the band. In June 1974 they were signed by Harry Vanda & George Young (Malcolm & Angus's brother) to Albert Productions. In November 1974, Dave Evans left the band and was replaced by Bon Scott (vocals & bagpipes). Rob Bailey also left in 1974 and was replaced by George Young (bass). In 1975 Phil Rudd (drums) replaced Tony Currenti and Mark Evans (bass) replaced George Young. In June 1977 Mark Evans left and is replaced by Cliff Williams (bass) for their first tour of the USA. On the 19 Feb 1980 Bon Scott died at the age of 33. Brian Johnson (ex Geordie) joined the band to replace him on vocals and the album \"Back In Black\" was released, a tribute to Bon Scott, this album became the 2nd largest selling album of all time with over 40 million copies sold worldwide. In May 1983, Phil Rudd had a parting of the ways and was replaced by Simon Wright (drums), aged 20 then. November 1989 Simon Wright left and is replaced by Chris Slade (ex Manfred Mann's Earth Band, Uriah Heep & The Firm). In summer 1994 Phil Rudd \"quietly\" rejoined the band.\r\n\r\nAC/DC are Australia's most successful rock band ever, and are popular around the world.\r\nThe band was inducted into Rock And Roll Hall Of Fame in 2003 as a performer.\r\n\r\nCurrent line-up:\r\nAngus Young (lead guitar)\r\nMalcolm Young (rhythm guitar)\r\nBrian Johnson (vocals)\r\nCliff Williams (bass guitar)\r\nPhil Rudd (drums)\n", "releases_url": "http://api.discogs.com/artists/84752/releases", "name": "AC/DC", "uri": "http://www.discogs.com/artist/AC%2FDC", "members": ["Angus Young", "Bon Scott", "Brian Johnson", "Chris Slade", "Cliff Williams", "Colin Burgess", "Dave Evans", "Larry Van Kriedt", "Malcolm Young", "Mark Evans (3)", "Phil Rudd", "Simon Wright (4)"], "urls": ["http://www.acdcrocks.com/", "http://www.acdc.com/", "http://www.acdcpower.net/", "http://www.myspace.com/acdc", "http://en.wikipedia.org/wiki/AC/DC"], "images": [{"uri": "http://api.discogs.com/image/A-84752-1233004620.jpeg", "height": 309, "width": 418, "resource_url": "http://api.discogs.com/image/A-84752-1233004620.jpeg", "type": "primary", "uri150": "http://api.discogs.com/image/A-150-84752-1233004620.jpeg"}, {"uri": "http://api.discogs.com/image/A-84752-1094915280.jpg", "height": 313, "width": 300, "resource_url": "http://api.discogs.com/image/A-84752-1094915280.jpg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1094915280.jpg"}, {"uri": "http://api.discogs.com/image/A-84752-1105107816.jpg", "height": 129, "width": 180, "resource_url": "http://api.discogs.com/image/A-84752-1105107816.jpg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1105107816.jpg"}, {"uri": "http://api.discogs.com/image/A-84752-1107645658.jpg", "height": 199, "width": 200, "resource_url": "http://api.discogs.com/image/A-84752-1107645658.jpg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1107645658.jpg"}, {"uri": "http://api.discogs.com/image/A-84752-1182165014.jpeg", "height": 335, "width": 498, "resource_url": "http://api.discogs.com/image/A-84752-1182165014.jpeg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1182165014.jpeg"}, {"uri": "http://api.discogs.com/image/A-84752-1233004627.jpeg", "height": 360, "width": 480, "resource_url": "http://api.discogs.com/image/A-84752-1233004627.jpeg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1233004627.jpeg"}, {"uri": "http://api.discogs.com/image/A-84752-1233004633.jpeg", "height": 247, "width": 457, "resource_url": "http://api.discogs.com/image/A-84752-1233004633.jpeg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1233004633.jpeg"}, {"uri": "http://api.discogs.com/image/A-84752-1233004641.jpeg", "height": 376, "width": 400, "resource_url": "http://api.discogs.com/image/A-84752-1233004641.jpeg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1233004641.jpeg"}, {"uri": "http://api.discogs.com/image/A-84752-1233004648.jpeg", "height": 389, "width": 572, "resource_url": "http://api.discogs.com/image/A-84752-1233004648.jpeg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1233004648.jpeg"}, {"uri": "http://api.discogs.com/image/A-84752-1297548279.jpeg", "height": 414, "width": 600, "resource_url": "http://api.discogs.com/image/A-84752-1297548279.jpeg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1297548279.jpeg"}, {"uri": "http://api.discogs.com/image/A-84752-1294786426.jpeg", "height": 450, "width": 450, "resource_url": "http://api.discogs.com/image/A-84752-1294786426.jpeg", "type": "secondary", "uri150": "http://api.discogs.com/image/A-150-84752-1294786426.jpeg"}], "resource_url": "http://api.discogs.com/artists/84752", "id": 84752, "data_quality": "Correct", "namevariations": ["AC/DC", "AC DC", "AC-DC", "AC//DC", "ACDC", "DC/AC", "\u042d\u0439 \u0421\u0438 \u0414\u0438 \u0421\u0438"]}}}
但是当你只是尝试点击它看起来像一个xml文件的链接.... 是它无论是...我救了它的两个格式,并一度试图来获取xml信息,并试图获取json信息.... xml为我工作..i使用下面的代码,这工作...但事情是...当我尝试直接从链接....我没有得到任何东西,请有人可以从该链接中获取任何东西?我完全困惑我应该获取JSON或XML?
Document doc = builder.parse("D:/workspace1/dd.xml");/////android_asset/www/dd.xml
XPathFactory xPathfactory = XPathFactory.newInstance();
XPath xpath = xPathfactory.newXPath();
XPathExpression expr = xpath.compile("//resp/artist/images/image[@uri]");
NodeList nl = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
for (int zzz = 0; zzz < nl.getLength(); zzz++)
{
Node currentItem = nl.item(zzz);
String key = currentItem.getAttributes().getNamedItem("uri").getNodeValue();
System.out.println(key);
}
也是上面的代码是不会在Android的工作(工作在Java的罚款)。(你有一个的try/catch包围它,使之无差错)
还当我保存它作为一个JSON文件我想这代码没有工作
HttpPost httppost = new HttpPost("file://D:/workspace1/dd.json");
httppost.setHeader("Content-type", "application/json");
InputStream inputStream = null;
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
String result=null;
inputStream = entity.getContent();
// json is UTF-8 by default
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
result = sb.toString();
TV.setText(result);
Bundle jObject = null;
String aJsonString = jObject.getString("status");
TV.setText(aJsonString);
} catch (Exception e) {
Log.e("MYAPP", "exception", e);
}
finally {
try{if(inputStream != null)inputStream.close();}catch(Exception squish){}
}
昨天我开始玩Discogs API,到目前为止,我一直在访问所有以JSON(如果我想要的话,JSONP)为例。我正在使用ASP.NET/C#/ MVC 3/Razor/jQuery。 – melancia
所以它在json中是否正确?请你详细说明一下吗?因为我现在完全困惑,而这个解析对我来说是全新的。 –
你可以使用jQuery来做到这一点:http://api.jquery.com/jQuery.parseJSON/或原生的Javascript:http://stackoverflow.com/questions/4935632/how-to-parse-json-in-javascript – melancia