2016-10-01 21 views
0

私はウェブ開発の絶対初心者レベルです。私は、そのリンク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:false'が含まれていない限り、" jsonp " – melpomene

0

あなたのページに表示されている配列であります一部のJSONパーツ配列(括弧のタイプで表すと[]は配列、{}はJSON)

ので、あなたは、この特定のAPIが本当にJSONPサポートされていない、そしてそれはあなたのために働いていない理由です、場合data[0].Ayeyarwady[0].price.Diesel(データとエーヤワディーは、一人の子供を持つオブジェクトの配列です)

しかしを使用する必要がありますerrorファンクションコールバックを追加すると、受信したデータに対してjQueryがparsererrorをスローすることがわかります。 APIへのプロキシサーバー側のリクエストを作成し、データを取得し、JSONとして解析し、そのデータをローカルに取得する必要があります。

+0

簡単なコードで説明してください。まずはdataType:jsonを試してみましょう。私はコンソールにエラーが出るので、なぜjsonpを試してみますか? –

+0

サイトが適切なjsonpで応答しないため、クライアントサイドコード(javascript/jQuery)を使用してデータを取得することはできません。サーバー側の要求をサイトに送信して、データをローカルにアクセスできるようにする必要があります。どのようなサーバーサイドの言語を使用していますか? (php/.netなど) –

+0

明確にするために - クライアント側のデータを別のサーバから取得しているので、自分で使用できるのは 'jsonp'だけです。 - これはサーバー側のコードを使用して回避策を実行する必要はありません –

関連する問題