JSON求教。 |
答題得分者是:andy424345
|
stacker_liew
中階會員 發表:59 回覆:168 積分:65 註冊:2004-05-17 發送簡訊給我 |
小弟是JSON新手,想請教要如何向一個網址取得它的資料,網址是:https://blockchain.info/ticker?
假如它得到結果如下,要怎麼分析它? { "USD" : {"15m" : 478.68, "last" : 478.68, "buy" : 478.55, "sell" : 478.68, "symbol" : "$"}, "JPY" : {"15m" : 51033.99, "last" : 51033.99, "buy" : 51020.13, "sell" : 51033.99, "symbol" : "¥"}, "CNY" : {"15m" : 2937.05, "last" : 2937.05, "buy" : 2936.25, "sell" : 2937.05, "symbol" : "¥"}, "SGD" : {"15m" : 605.39, "last" : 605.39, "buy" : 605.22, "sell" : 605.39, "symbol" : "$"}, "HKD" : {"15m" : 3709.91, "last" : 3709.91, "buy" : 3708.9, "sell" : 3709.91, "symbol" : "$"}, "CAD" : {"15m" : 526.72, "last" : 526.72, "buy" : 526.58, "sell" : 526.72, "symbol" : "$"}, "NZD" : {"15m" : 582.26, "last" : 582.26, "buy" : 582.1, "sell" : 582.26, "symbol" : "$"}, "AUD" : {"15m" : 524.61, "last" : 524.61, "buy" : 524.46, "sell" : 524.61, "symbol" : "$"}, "CLP" : {"15m" : 283014.81, "last" : 283014.81, "buy" : 282937.95, "sell" : 283014.81, "symbol" : "$"}, "GBP" : {"15m" : 297.4, "last" : 297.4, "buy" : 297.32, "sell" : 297.4, "symbol" : "£"}, "DKK" : {"15m" : 2756.84, "last" : 2756.84, "buy" : 2756.09, "sell" : 2756.84, "symbol" : "kr"}, "SEK" : {"15m" : 3403.41, "last" : 3403.41, "buy" : 3402.49, "sell" : 3403.41, "symbol" : "kr"}, "ISK" : {"15m" : 56797.78, "last" : 56797.78, "buy" : 56782.35, "sell" : 56797.78, "symbol" : "kr"}, "CHF" : {"15m" : 447.19, "last" : 447.19, "buy" : 447.07, "sell" : 447.19, "symbol" : "CHF"}, "BRL" : {"15m" : 1093.06, "last" : 1093.06, "buy" : 1092.77, "sell" : 1093.06, "symbol" : "R$"}, "EUR" : {"15m" : 370.13, "last" : 370.13, "buy" : 370.03, "sell" : 370.13, "symbol" : "€"}, "RUB" : {"15m" : 17806.28, "last" : 17806.28, "buy" : 17801.44, "sell" : 17806.28, "symbol" : "RUB"}, "PLN" : {"15m" : 1557.38, "last" : 1557.38, "buy" : 1556.96, "sell" : 1557.38, "symbol" : "zł"}, "THB" : {"15m" : 15398.04, "last" : 15398.04, "buy" : 15393.86, "sell" : 15398.04, "symbol" : "฿"}, "KRW" : {"15m" : 494436.55, "last" : 494436.55, "buy" : 494302.27, "sell" : 494436.55, "symbol" : "₩"}, "TWD" : {"15m" : 14340.68, "last" : 14340.68, "buy" : 14336.79, "sell" : 14340.68, "symbol" : "NT$"} } 編輯記錄
stacker_liew 重新編輯於 2017-04-03 10:42:01, 註解 無‧
stacker_liew 重新編輯於 2017-04-03 10:42:59, 註解 無‧ stacker_liew 重新編輯於 2017-04-18 10:08:15, 註解 無‧ stacker_liew 重新編輯於 2017-04-18 10:08:45, 註解 無‧ |
andy424345
一般會員 發表:2 回覆:13 積分:23 註冊:2011-03-29 發送簡訊給我 |
uses System.JSON;
var JSONObject: TJSONObject; JSONValue: TJSONValue; i: integer; d: double; s: string; begin JSONObject := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(C_S),0) as TJSONObject; for i := 0 to JSONObject.Count -1 do begin JSONValue := JSONObject.Pairs[i].JsonValue; d := JSONValue.GetValue d := JSONValue.GetValue d := JSONValue.GetValue d := JSONValue.GetValue s := JSONValue.GetValue end; end; C_S是你讀取網頁資料的結果 P.S: double也可以改成string 之後再轉型也OK
編輯記錄
andy424345 重新編輯於 2017-06-26 11:48:28, 註解 無‧
andy424345 重新編輯於 2017-06-28 13:37:23, 註解 無‧ andy424345 重新編輯於 2017-06-28 13:37:55, 註解 無‧ andy424345 重新編輯於 2017-06-28 13:38:44, 註解 無‧ |
andy424345
一般會員 發表:2 回覆:13 積分:23 註冊:2011-03-29 發送簡訊給我 |
不知道為什麼按修改後還是沒有變...
寫法是: d := JSONValue.GetValue<double>('15m'); d := JSONValue.GetValue<double>('last'); d := JSONValue.GetValue<double>('buy'); d := JSONValue.GetValue<double>('sell'); s := JSONValue.GetValue<string>('symbol');
編輯記錄
andy424345 重新編輯於 2017-06-28 14:40:14, 註解 無‧
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
System.JSON.TJSONValue.GetValue - RAD Studio API Documentation
請問,是這個對嗎? ^ ^ ===================引 用 andy424345 文 章=================== 不知道為什麼按修改後還是沒有變... 寫法是: d := JSONValue.GetValue<double>('15m'); d := JSONValue.GetValue<double>('last'); d := JSONValue.GetValue<double>('buy'); d := JSONValue.GetValue<double>('sell'); s := JSONValue.GetValue<string>('symbol'); |
andy424345
一般會員 發表:2 回覆:13 積分:23 註冊:2011-03-29 發送簡訊給我 |
是的!
===================引 用 GrandRURU 文 章=================== System.JSON.TJSONValue.GetValue - RAD Studio API Documentation 請問,是這個對嗎? ^ ^ ===================引 用 andy424345 文 章=================== 不知道為什麼按修改後還是沒有變... 寫法是: d := JSONValue.GetValue<double>('15m'); d := JSONValue.GetValue<double>('last'); d := JSONValue.GetValue<double>('buy'); d := JSONValue.GetValue<double>('sell'); s := JSONValue.GetValue<string>('symbol'); |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |