Parsing external XML to JSON in Java?
Solution 1
Here is a working example which shows how to connect to a URL, download XML and convert it to JSON format:
-
Connect to a URL and download the XML as a string:
String str = "http://maps.google.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true"; URL url = new URL(str); InputStream is = url.openStream(); int ptr = 0; StringBuilder builder = new StringBuilder(); while ((ptr = is.read()) != -1) { builder.append((char) ptr); } String xml = builder.toString();
Download the JSON library from here. (You will have to compile it and ensure that the classes are on your classpath.)
-
Convert the XML into a JSON Object:
JSONObject jsonObject = XML.toJSONObject(xml); System.out.println(jsonObject);
Solution 2
Why don't you retrieve the Google geocode as JSON in the first place?
The above link is taken directly from:
Mantar
Updated on June 15, 2022Comments
-
Mantar about 2 years
So I'm sitting here with Google Geocoder, which returns an XML via 'GOOGLE_URL/xml?address=input&sensor=false'. I need to fetch it by using Java and parse it into a JSON object and send it onwards.
How would I go about to do this? (No this is not homework) Note that it should preferably be done within the standard libraries. At the moment I'm trying to work out if it can be done with for example SAX.
-
Mantar almost 14 yearsThat's not very descriptive, now is it? (Edit: Ok now it's a little more descriptive. But I'm still in the dark on the whole parsing part)
-
Mantar almost 14 yearsThat made a whole lot more sense ( With your previous information tho) thanks!
-
Mantar almost 14 yearsBecause the service is more efficient with XML?
-
clenemt over 11 yearsyou could try either : import
org.json.XML;
or importorg.apache.sling.commons.json.xml.XML;