1

私は Web プログラミングにかなり慣れていないため、これがばかげた質問である場合は事前に申し訳ありません。いろいろ調べてみたのですが、具体的なことがわからなかったのでこちらで質問させていただきました。

JSON ファイルを読み取り、データを返すスクリプトを作成しようとしています。より具体的には、ここにリンクがあります。

world_idanが と等しい場所を検索して見つけxxxx、 を返したいと思いますmatch_id。別のスレッドでは、解決策の1つは次のようなものでした

var obj = JSON.parse(//JSON info here)
var a = obj.world_id

これを達成するために誰かが私を正しい方向に向けることができますか?

4

3 に答える 3

2

jQuery をプロジェクトに追加する理由はたくさんあります。しかし。json データを取得するためだけにjQuery を追加しないでください。Javascript は、これを単独で完全に処理できます。ありがとうございます。

// simple cross-browser ajax helper
var ajaxGet = function (url, callback) {
    var callback = (typeof callback == 'function' ? callback : false), xhr = null;
    try {
      xhr = new XMLHttpRequest();
    } catch (e) {
      try {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    if (!xhr)
           return null;
    xhr.open("GET", url,true);
    xhr.onreadystatechange=function() {
      if (xhr.readyState==4 && callback) {
        callback(xhr.responseText)
      }
    }
    xhr.send(null);
    return xhr;
}

// example usage, grab the json data, loop it and log red_world_id to console
ajaxGet(
    'https://api.guildwars2.com/v1/wvw/matches.json', 
    function (response) {
        response = JSON.parse(response);
        if (!response)
            return;
        var i, list = response.wvw_matches;
        for (i in list) {
            console.log(list[i].red_world_id); // outputs an id
        }
});

ここで試してみてください: http://jsfiddle.net/7WrmL/

したがって、基本的に、特定の使用法では、ID をコンソールに記録するだけでなく、各オブジェクトの id プロパティを目的の一致 ID と照合して確認し、たとえば、i一致のインデックスを返すことができます (正確に何を理解しているかわかりません)。その後再)。

そして心に留めておいてください:すべてのためにではなく、必要なときにjQueryを使用してください。

ドキュメンテーション

于 2013-08-21T15:31:21.247 に答える
1

JSON データを取得する簡単な方法は、次のように jQuery を使用することです。

<div id="reply"></div>

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(function () {
    $.getJSON(
        "https://api.guildwars2.com/v1/wvw/matches.json",
        function (data) {
            $("#reply").html(JSON.stringify(data));
            // or work with the data here, already in object format
        });
});
</script>

ここを参照してください: http://jsfiddle.net/mynetx/LwNKC/

于 2013-08-21T15:20:14.860 に答える
0

以下の私のコードを見てください。jqueryを使ってコンテンツを取得しました

var result;

$.get(
    "https://api.guildwars2.com/v1/wvw/matches.json",
    {},
    function(data) {
       var result = data;
    }
);

var arr = JSON.parse(result);

var length = arr.length;

for (var i = 0; i < length; i++) 
{
  if(arr[i].red_world_id == 'xxx')
  {
        console.log('Got it');
  }

  if(arr[i].blue_world_id== 'xxx')
  {
        console.log('Got it');
  }

  if(arr[i].green_world_id== 'xxx')
  {
        console.log('Got it');
  }
}

ペンの滑りに注意してください:)。

于 2013-08-21T15:19:17.727 に答える