2016-07-23 10 views
0

以下のコードを使用して、以下のレスポンスから特定の部分を取得できないようです。 response["minecraft.net"]を使用しようとすると、コンソールログに「未定義」が表示されます。誰かが私にこれがなぜ機能していないのか説明できますか?APIレスポンスの特定の要素を取得できません[JS]

応答:

"[{"minecraft.net":"green"},{"session.minecraft.net":"green"},{"account.mojang.com":"green"},{"auth.mojang.com":"green"},{"skins.minecraft.net":"green"},{"authserver.mojang.com":"green"},{"sessionserver.mojang.com":"green"},{"api.mojang.com":"green"},{"textures.minecraft.net":"green"},{"mojang.com":"green"}]" 

コード:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Mojang Servives Status</title> 
</head> 

<body> 
<script> 
var api = new XMLHttpRequest(); 
api.open("GET", "https://status.mojang.com/check", false); 
api.send(); 
console.log(api); 
var response = JSON.parse(api.response) 
console.log(response["minecraft.net"]); 
</script> 
</body> 

</html> 
+0

同期Ajax?本当に? – nnnnnn

答えて

0

応答は、アレイの内側に包まれています。だから使用するだろうresponse[0]['minecraft.net']

+0

それは働いて、ありがとう! – averysumner

+0

@averysumnerただし、配列の最初のインデックスには常に "minecraft.net"プロパティを持つオブジェクトが含まれていることを前提としています。おそらくこのAPIを使用する方法は、すべての配列をループしてすべてのプロパティをその値とともに表示することです。または、minecraft.netだけに興味がある場合は、そのプロパティが見つかるまで配列をループします(そうでなければ、Mojangはオブジェクトの順序を変えることができ、プログラムは中断します) –

関連する問題