2017-04-03 6 views
-1

特定のウェブサイトから出力されたjsonをHTMLウェブサイトに表示しようとしています。例えば、これは、サイトexample.com上のJSONだろうjsonを1つのウェブサイトからhtmlウェブサイトに表示する

[ { "nickname":"name", "votes":"3" }, { "nickname":"name", "votes":"2" }, { "nickname":"name", "votes":"2" }] 

どのように私がexample.comからデータを取得し、私のhtmlのウェブサイトmydomain.com上に表示することができますか?どんな助けも素晴らしいだろう!

+0

あなたはjQueryを使ってAJAXを使用することができます..こちらをご覧チェックhttp://api.jquery.com/jquery.ajax/ https://www.w3schools.com/jquery/ajax_ajax.asp – winter

答えて

-1

jsonオブジェクトとして解析すると、それを表示するためのループが実行されます。私が作った以下の例を実行します。

var text = '{"employees":[' + 
 
'{"firstName":"John","lastName":"Doe" },' + 
 
'{"firstName":"Anna","lastName":"Smith" },' + 
 
'{"firstName":"Peter","lastName":"Jones" }]}'; 
 

 
obj = JSON.parse(text); 
 

 
for (i = 0; i < obj.employees.length; i++) { 
 
document.getElementById("demo").innerHTML += 
 
obj.employees[i].firstName + " " + obj.employees[i].lastName+ "<br/>";  
 
}
<h2>Create Object from JSON String</h2> 
 

 
<p id="demo"></p>

+0

ありがとうございます!どのように私は、ウェブサイトからデータを取り込むのではなく、すでにそこにvarテキストを置くつもりですか? – Czar

+0

これは、どのサーバーサイドの技術を使用しているかに依存します。どんなサーバーサイドの技術を使用していても、あなたはhttpを取得する必要があります。 – MasterDev

+0

$ .getJSON( 'example.com'、function(result){}); これを使用した場合、結果はjson文字列になりますか?私はそれを直接解析できますか? – Czar

-1

あなたのJSONオブジェクトを含む配列です。各オブジェクトにはnicknamevotesのメンバーがあります。

function votesByNicknameTemplate(input, target) { 
    var output = ""; 
    for (var index in input) { 
     output += input[index].nickname + " has " + input[index].votes + "<br>"; 
    } 
    target.innerHTML += output 
} 

あなたがvotesByNicknameTemplate([ { "nickname":"name", "votes":"3" }, { "nickname":"name", "votes":"2" }, { "nickname":"name", "votes":"2" }], document.getElementsByTagName("body")[0]);を使用して、これを呼び出した場合、あなたはbodyoutputを書く:あなたはこのようなテンプレートを持っているとしましょう。同じ結果が、より一般的な解決策で)runTemplate([ { "nickname":"name", "votes":"3" }, { "nickname":"name", "votes":"2" }, { "nickname":"name", "votes":"2" }], document.getElementsByTagName("body")[0], "votesByNicknameTemplate"を呼び出し、その後

function runTemplate(input, target, templateName) { 
    window[templateName](input, target); 
} 

と:あなたはこのように、複数のテンプレートをサポートするために、これはさらにabstractizeすることができます。

+0

ありがとう! runTemplateに渡すためにウェブサイトからデータを取得する方法は? – Czar

+0

@CzarサーバーにAJAX要求を送信し、コールバックで応答を処理する必要があります。詳細はこちら:https://www.w3schools.com/xml/ajax_xmlhttprequest_send.asp –

関連する問題