$.ajax リクエストを介して API から JSON を返していますが、JSON の塊になってしまいます。
var result = {
"status": 200,
"offset": 5,
"limit": 25,
"total": 7,
"url": "/v2/api/dataset/topten?",
"results": [
{
"datasets": [
"dataset",
"tt_all"
],
"id": "Hxb6VtpFRQ9gEr",
"title": "Venues",
"type": "topten",
"url": "/v2/dataset/topten/Hxb6VtpFRQ9gEr"
},
}
または似たようなもの。より大きなリクエストには、より多くの結果を含むネストされた配列があります。
この情報を解析し、それをオブジェクトに入れ、そのオブジェクトがすべてのレベルから特定の情報を抽出するために使用できるメソッドを用意したいと思います-次のようなものです:
result.title => "Venues" or result.id => "Hxb6v...."
ただし、AJAX リクエストからの出力は、ユーザー定義の var に割り当てることができるので、ajax 成功関数を終了して結果に割り当てられる前に、利用可能なメソッドを使用してオブジェクトにこれを貼り付ける関数を作成したいと考えています。
私は特に行きたくない:
Object.prototype.method = function(){ // extend Object here }
人を怒らせる方法。
プロトタイプを拡張する別のオブジェクトを作成すると、次のようになります。
function Datalump(){};
Datalump.prototype.title = function(){
// get title or something here
};
何を何に渡すか、間違ったものに代入するのに苦労しています。
このメソッド/オブジェクトの作成についてどうすればよいですか?
提案や指針をいただければ幸いです。
更新: 助けてくれてありがとう - それは非常に啓発的でした. 私が尋ねた質問に最も適切と思われるため、Mike Brant の回答を正しいものとしてマークしました。George Jempty の回答も非常に有益な学習経験でした。
私は実際にはプロジェクトで少し異なる方向に進んでいますが (新しい要件!)、すべての回答の一部はおそらく「アルファ」になるでしょう。
どうもありがとうございました。