2016-10-11 71 views
-2

我目前在Java中使用Eclipse編碼採集的數據採取關鍵。我試圖通過給出數據如何獲得從網站API

{「high」:「639.00000」,「last」:「634.94000」,「timestamp」:「1476220216」,「bid」:「 634.94000「,」vwap「:」630.07099「,」volume「:」7939.75947138「,」low「:」613.83000「,」ask「:」636.50000「,」open「:」616.37000「}

從這個地址:「https://www.bitstamp.net/api/v2/ticker/btcusd/

到目前爲止,我得到這個代碼:

package JsonSimpleExample; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.URL; 
import java.net.URLConnection; 
import org.json.simple.*; 



public class JsonSimpleExample { 

    public static void main(String[] args) throws IOException { 

     URL url = new URL("https://www.bitstamp.net/api/v2/ticker/btcusd/"); 

     URLConnection con = url.openConnection(); 
     InputStream is =con.getInputStream(); 


     BufferedReader br = new BufferedReader(new InputStreamReader(is)); 

     System.out.println(br.readLine()); 

    } 
} 

一個可能的解決方案是寫我從網站上獲取數據我nto文件並將每個鍵值對輸入到hashmap中並調用該值,但似乎非常冗餘。有沒有什麼方法可以直接獲取API給我的數據的密鑰值?

+0

不知道的API,但你可以閱讀JSON對象轉換成一個字符串,去掉支架,繞了一個逗號分開,然後再通過這個數組和分裂結腸周圍這些字符串,讓您的鍵值對? –

+0

這個鏈接可以幫助你走出https://www.mkyong.com/java/json-simple-example-read-and-write-json/ –

+1

@RAZ_Muh_Taz請不要直接跳到它與簡單的字符串匹配或正則表達式。使用JSON解析器。它隨JDK一起提供。 http://www.oracle.com/technetwork/articles/java/json-1973242.html – Robert

回答

0

簡單,你還需要添加的JSON庫。

import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.util.Scanner; 
import org.json.JSONObject; 

/** 
* 
* @author BTACTC 
*/ 
public class JsonExample { 

    URL url; 
    String str; 
    Scanner scan; 
    JSON json; 

    public JsonExample() throws MalformedURLException, IOException { 

     url = new URL("https://www.bitstamp.net/api/v2/ticker/btcusd/"); 

     scan = new Scanner(url.openStream()); 

     str = new String(); 

     while (scan.hasNext()) { 
      str += scan.nextLine(); 
     } 

     System.out.println(str);// checking the data is now in string 

     JSONObject obj = new JSONObject(str); 
     System.out.println(obj.getString("high"));; 

    } 

    public static void main(String[] args) throws IOException { 

     JsonExample JE = new JsonExample(); 

    } 

} 
+0

謝謝。這工作,除了我不得不作出一些更改: –

+0

1.我在方法和主投擲JSONExceptions。 2.我不得不JSON JSON改變JSONML JSON 這之後的工作完美。 –