updates.message
JavaScript オブジェクトではなく文字列です。属性全体を引用符で囲むことでわかります。JavaScript 文字列にはstudent
プロパティがないため、undefined
. 正規表現を使用して文字列から JSON 部分を解析し、それを使用JSON.parse()
して JSON オブジェクトを取得できます。ただし、学生IDもupdates.references[0].id
あなたの例に含まれています。
学生 ID を取得するには、次の操作を行います。
<% alert(updates.references[0].id) %>
編集:本当にメッセージから ID を取得したい場合は、何らかの方法で解析する必要があります。メッセージ形式が常に同じである場合は、正規表現または文字列分割を試して、id を含む部分を取得できます。
var id_part = json.updates.message.split(" ")[0];
//parse out just the ID number in a group
var re = /\[\[[^:]+:(\d+)\]\]/;
var matches = re.exec(id_part);
var id = matches[1];
次に、対応するデータをreferences
パーツから取得するには、メッセージからのデータが見つかるまでループする必要がありid
ます。これはうまくいくでしょう。
//Ghetto old for loop for browser compatibility
for (var i = 0; i < updates.references.length; i++) {
if (updates.references[i].id == id) {
//We have found the reference we want.
//Do stuff with that reference.
break;
}
}