2016-10-01 53 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' - 并且只有当你从中获取数据的站点支持它 - 这个不会,所以你必须使用服务器端代码来做一个解决方法 –