I want to get the current/historical bitcoin price by using JSON..
However, the code shows a following ERROR:-
Exception in thread "main" java.lang.NullPointerException at RwithJlab.Basic.main(Basic.java:19)
package RwithJlab; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.net.URLConnection; 
import java.nio.charset.Charset; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 
public class Basic 
{ 
        public static void main(String[] args) throws MalformedURLException, IOException, JSONException 
{ 
JSONObject data = getJSONfromURL("https://blockchain.info/charts/market-price?format=json"); JSONArray data_array = data.getJSONArray("values"); 
for (int i = 0; i < ((CharSequence) data_array).length(); i++) 
{ 
      JSONObject price_point = (JSONObject) data_array.get(i); 
        // Unix time 
        int x = price_point.getInt("1364062505"); 
      // Bitcoin price at that time 
      double y = price_point.getDouble("y"); 
      // Do something with x and y. 
      System.out.println(x); 
    } 
} 
public static JSONObject getJSONfromURL(String URL) throws JSONException 
{ 
    try 
    { 
        URLConnection uc; 
          URL url = new URL(URL); 
          uc = url.openConnection(); 
          uc.setConnectTimeout(10000); 
          uc.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); uc.connect(); 
BufferedReader rd = new BufferedReader( 
                    new InputStreamReader(uc.getInputStream(), 
                    Charset.forName("UTF-8"))); 
StringBuilder sb = new StringBuilder(); 
int cp; 
while ((cp = rd.read()) != -1) 
{ 
    sb.append((char)cp); 
} 
String jsonText = (sb.toString()); 
return new JSONObject(jsonText.toString()); 
} catch (IOException ex) 
{ 
          return null; 
        } 
    } 
}
Could anyone please help me with this?