2016-10-03 7 views
-2

このjson-data-stringを変数として取得し、それを構文解析して有用なものにするにはどうすればよいですか?文字列のURLからJSON-Stringを取得して解析する

URL:JSとJSONに http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=?

Iamはかなり新しいので、このトピックに取得する方法についていくつかのアドバイスは素晴らしいことです。

は、私はあなたがAJAXを使用することができると思う Stoani

+0

これはJSONPトランザクションのように見えます。これらのSOの質問をチェックアウト:http://stackoverflow.com/questions/2067472/what-is-jsonp-all-about/6879319#6879319 http://stackoverflow.com/questions/14220321/how-do-i-return -the-応答から-非同期呼び出し/ 14220323#14220323 – LinuxDisciple

+0

ありがとう、これはちょっと便利そうです。 –

答えて

0

ここでは、ちょうどあなたのコンソール

<!DOCTYPE html> 
<html lang="de"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
</head> 
<body> 
<script> 
    function getData(jsonp){ 
     console.log(jsonp); 
    } 

    var scripts = document.createElement('script'); 
    scripts.src = 'http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=getData'; 
    document.body.appendChild(scripts); 
</script> 
</body> 
</html> 

へのデータの内容をログに記録する簡単なrunableの例では、あなたがたgetData関数を変更することで、データにアクセスすることができます。たとえば、タイトルを取得するには、

function getData(jsonp){ 
    console.log(jsonp.title); 
} 
+0

これは純粋なJavaScriptの実装です。これらのステップはJQueryのように隠れたり抽象化されていないので、問題全体を理解するのに良い方法です。あなたが理解する上で興味がない問題を、そしてあなただけの変数にデータを取得したい場合は、jQueryのアプローチは、正確に何をしたいです。 – LinuxDisciple

-2

、ありがとうございます。

$.ajax({ 
      url: "ajaxurl.php or whatever", 
      type: "POST", 
      data: { 
       data:datayouwattosend,  
      }, 
      async: false, 
      statusCode: { 
       404: function() { 
        alert("not found"); 
       } 
      }, 
      success: function (data) { 
       console.log(data); 
      } 
    }) 

ここでは、これに関する情報を見つける完全な例です。

http://api.jquery.com/jquery.getjson/

+0

この作業を行うには、JQueryライブラリをロードする必要があります。 JQueryを使用すると、JavaScriptの純粋なアプローチよりもユーザーフレンドリーです。 – LinuxDisciple

+0

はいabsolutelly – bjesua

0

リターン文字列の形成にいくつかのエラーがあります。
私はリターン文字列をコピーして貼り付け、これをsiteに貼り付けました。
私はあなたがキーとそれぞれの値を取得するための何かが必要だと思う:

var data = '{"webext2":true,"version":"1.2","title":"laufende Eins\u00e4tze","pubDate":"Mon, 03 Oct 2016 19:01:02 +0200","cnt_feuerwehren":3,"cnt_einsaetze":2,"einsaetze":{"0":{"einsatz":{"num1":"E161000221","einsatzort":"PE - PABNEUKIRCHEN","startzeit":"Mon, 03 Oct 2016 18:24:17 +0200","inzeit":"","status":"offen","alarmstufe":1,"einsatzart":"BRAND","einsatztyp":{"id":"BK","text":"BRAND KLEIN FEUERWEHREINSATZ"},"einsatzsubtyp":{"id":"KAMIN-BK","text":"BRAND KAMIN"},"adresse":{"default":"NEUDORF 21","earea":"NEUDORF","emun":"PABNEUKIRCHEN","efeanme":"NEUDORF","estnum":"21","ecompl":""},"wgs84":{"lng":14.829464095886,"lat":48.349240803097},"bezirk":{"id":7,"text":"Perg"},"cntfeuerwehren":2,"feuerwehren":{"407107":{"feuerwehr":"FF Pabneukirchen"},"407109":{"feuerwehr":"FF Riedersdorf"}}}},"1":{"einsatz":{"num1":"E161000213","einsatzort":"RI - RIED IM INNKREIS","startzeit":"Mon, 03 Oct 2016 17:57:39 +0200","inzeit":"","status":"offen","alarmstufe":1,"einsatzart":"TEE","einsatztyp":{"id":"TK","text":"TECHNISCH KLEIN FEUERWEHREINSATZ"},"einsatzsubtyp":{"id":"OELSPUR-TK","text":"\u00d6LSPUR, \u00d6LAUSTRITT"},"adresse":{"default":"RIED IM INNKREIS","earea":"RIED IM INNKREIS","emun":"RIED IM INNKREIS","efeanme":"","estnum":"","ecompl":"SCH\u00c4RDINGER TOR"},"wgs84":{"lng":13.488453771887,"lat":48.212407174905},"bezirk":{"id":8,"text":"Ried"},"cntfeuerwehren":1,"feuerwehren":{"408223":{"feuerwehr":"FF Ried im Innkreis"}}}}}}'; 
    var jsondata = JSON.parse(data); 
    check_json_data(jsondata); 

    function check_json_data(jsondata) { 
     for (var propertyName in jsondata) { 
      if (propertyName) { 
       if (typeof jsondata[propertyName] == 'object') { 
        check_json_data(jsondata[propertyName]); 
       } 
       else { 
        console.log(propertyName + ": " + jsondata[propertyName]) 
       } 
      } 
     } 
    } 

出力:
webext2:真
バージョン:1.2
タイトル:laufendeEinsätze
pubDateの:月、2016年10月3日19時01分02秒0200
cnt_feuerwehren:3
cnt_einsaetze:2
NUM1:E161000221
einsatzort:PE - PABNEUKIRCHEN
startzeit:月、2016年10月3日夜6時24分17秒0200
inzeit:
ステータス:offen
alarmstufe:1
einsatzart:ブランド
ID:BK
テキスト:ブランドKLEIN FEUERWEHREINSATZ
ID:KAMIN-BK
テキスト:ブランドKAMIN
デフォルト:NEUDORF 21
earea:NEUDORF
emun:PABNEUKIRCHEN
efeanme:NEUDORF
estnum:21
ecompl:
LNG:14.829464095886
LAT:48。349240803097
ID:7
テキスト:cntfeuerwehrenペルグ
:2人の
消防士:FF Pabneukirchen
消防士:FFリーデル村
NUM1:E161000213
場所:RI - リートIMインクライス
開始時間:月、10月3日インタイム2016年午後05時57分39秒0200

状況:オープン
アラームレベル:1
使用: TEA
ID:TK
テキスト:技術的に小さな火の使用
ID:OELSPUR-TK
テキスト:OILのSPUR、オイル出口
デフォルト:リートIMインクライス
EAREA:リートIMインクライスEmun
:リートIMインクライス
efeanme:
estnum:
ecompl:SchärdingerTOR
LNG:13.488453771887
緯度:48.21240717 4905
ID:8
テキスト:cntfeuerwehrenリート
:1
消防士:FFリートイムインクライス

関連する問題