2017-11-02 14 views
0

私はオーバーフローが新しく、多くの代理店ポイントがないため、私が望む場所(related article)にコメントできませんでしたので、新しい質問を開く必要がありました。ペットファインダーAPI表示する特殊文字

質問:値を表示するには、JSONキーの最後に['$ t']を追加する必要がありますか?

このajaxはPet Finder APIを呼び出しています。

$.ajax({ 
    type: 'GET', 
    data: {}, 
    url: url + '&callback=?', 
    dataType: 'json', 
    success: function (data) { 

     //declare and assign JSON array of data results 
     var petfinder = data.petfinder.pets.pet; 

     for (var i = 0; i < petfinder.length; i++) { 
     var infoDiv = $("<div>") 
     var name = $("<div>").html("<b>Name: </b>" + petfinder[i].name['$t']); 
     var animal = $("<div>").html("<b>Animal Type: </b>" + petfinder[i].animal['$t']); 
     var age = $("<div>").html("<b>Age: </b>" + petfinder[i].age['$t']); 
     var sex = $("<div>").html("<b>Sex: </b>" + petfinder[i].sex['$t']); 
     var size = $("<div>").html("<b>Size: </b>" + petfinder[i].size['$t'] + "<br><hr><br>"); 

     infoDiv.append(animal) 
     infoDiv.append(name) 
     infoDiv.append(age) 
     infoDiv.append(sex) 
     infoDiv.append(size) 

     // return infoHTML; 
     $('#petfinderInfo').append(infoDiv); 
     } 
    }, 
    error: function (request, error) { 
     alert("Request: " + JSON.stringify(request)); 
    } 
    }); 
}); 

答えて

0

ペットファインダーAPIからのあなたの応答は次のようなもの(これは実際の応答の一部です)になります。$ tは​​

"status":{ 
    "message":{}, 
    "code":{ 
     "$t":"100" 
    } 
} 

あなたはコードオブジェクトのプロパティ内のキーのいずれか見ることができるようです状態コードを格納しているので、["status"]["code"]["$t"]を使用してオブジェクトにアクセスする必要がある値100を取得するには、status.code.$tを使用してアクセスできます。

あなたのコードは完全に問題なく、何にも関係しません。APIが構築された方法とキーとして何を使用しているのですか。なぜこのように行われたのかを尋ねるならば、そのAPIの背後にある巧妙な論理がうまくいけば、その設計プロセスの一部になる可能性があります。

+0

お返事ありがとうございます!私はそれを理解する面でJQueryで何かが欠けていたかどうかはわかりませんでした:) –