2016-10-01 50 views
0

我是絕對的web開發初學者水平。我想問一下如何處理那個鏈接https://www.maxenergy.com.mm/api/max_price_list的json數據。我想在我的頁面中顯示柴油價格。但如何選擇確切的關鍵形式json數據。排列中的JSON數據

[ 
    { 
     "Ayeyarwady":[ 
     { 
      "price":{ 
       "95 Ron Octane":660.00, 
       "Premium Diesel":620.00, 
       "Diesel":580.00, 
       "92 Ron Octane":580.00 
      }, 
      "address":"Aungsan Road, Yay Kyi Township,Ayeyarwady.", 
      "station":"Max Energy (Yay Kyi)", 
      "longitude":null, 
      "latitude":null, 
      "telephone":"09977877901, 046-52020" 
     }, 
     { }, 
     { }, 
     { }, 
     { }, 
     { } 
     ] 
    }, 
    { }, 
    { }, 
    { }, 
    { }, 
    { } 
] 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
</head> 
<body> 
<div id="aya"></div> 
<script> 
    $(document).ready(function() { 
     $.ajax({ 
      url: 'https://www.maxenergy.com.mm/api/max_price_list', 
      dataType: 'jsonp', 
      type: 'GET', 
     }).done(function(data) { 
     $("#aya").html(data.Ayeyarwady.price.Diesel); 

     }); 
    }); 
</script> 
</body> 
</html> 
+0

該頁面似乎不支持'jsonp'。 – melpomene

回答

0
JSONArray json = new JSONArray(YOUR_RESPONSE); 

for(int i=0;i<json.length();i++){       
JSONObject dataJsonObject = new JSONObject(json.getJSONObject(i)); 
//FIRST JSONOBJECT 
//NOW FROM THIS GET JSONARRAY Ayeyarwady 
//AND MAKE IT FRO LOOP AGAIN AND get price and address like... 
} 

希望這有助於...

+0

'ReferenceError:JSONArray未定義' – melpomene

+0

試試這個.. Json.stringify(url) –

+0

'ReferenceError:Json沒有定義' – melpomene

-2

請更改的dataType這樣,

數據類型: 'JSON',

+0

爲什麼?這將實現什麼? – melpomene

+0

datatype = json,jquery將處理響應爲json,而且你不需要解析json –

+0

http://api.jquery.com/jquery.ajax/:「跨域」「json」'請求被轉換爲' 「jsonp」',除非請求在請求選項中包含'jsonp:false'「。 – melpomene

0

在你的頁面顯示的陣列部分JSON部分數組(可以由括號分類 - []是數組,{}是JSON。

所以你應該使用data[0].Ayeyarwady[0].price.Diesel(數據和伊洛瓦底是一個子對象數組)

這個特定的API是不是真的支持JSONP,這就是爲什麼它不爲你工作,如果你添加一個error函數回調,你會發現jQuery對接收到的數據拋出一個parsererror。 你必須創建一個API的代理服務器端請求,獲取數據,解析爲JSON,然後在本地獲取該數據

+0

你能用簡單的代碼來解釋嗎?首先我嘗試使用dataType:json。我會來錯誤我控制檯,那爲什麼我嘗試jsonp。 –

+0

由於該網站沒有正確響應jsonp,因此無法使用客戶端代碼(javascript/jQuery)獲取數據。您需要對站點執行服務器端請求,以便您可以在本地訪問數據。你使用什麼服務器端語言? (php/.net等) –

+0

來澄清 - 因爲你從一個不同的服務器獲得客戶端數據,那麼你只能使用'jsonp' - 並且只有當你從中獲取數據的站點支持它 - 這個不會,所以你必須使用服務器端代碼來做一個解決方法 –