2016-10-03 163 views
-2

如何將此json數據字符串作爲變量並將其解析爲一些有用的fromat?從URL獲取並解析JSON字符串

該字符串的URL: http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=?

蔭非常新的JS和JSON等如何進入這個話題的一些建議將是巨大的。

謝謝 Stoani

+0

這看起來像一個JSONP交易。看看這些所謂的問題: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> 

您可以通過修改的getData函數訪問數據。例如,要拿到冠軍,你可以使用

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

這是純JavaScript實現。沒有一個步驟是隱藏或抽象出來的,因爲它們在JQuery中,所以這是理解整個問題的好方法。如果你對理解這個問題不感興趣,而你只是想將數據放入一個變量中,那麼JQuery方法正是你想要的。 – LinuxDisciple

-2

我認爲你可以使用AJAX。

$.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
發佈時間:星期一,2016年10月3日19個時01分02秒0200
cnt_feuerwehren:3
cnt_einsaetze:2
NUM1:E161000221
einsatzort:PE - 帕布諾伊基興
startzeit:星期一,2016年10月3日18時24分17秒+0200
inzeit:
狀態:見於Ger.Offen
alarmstufe:1
einsatzart:品牌
ID:BK
文字:品牌KLEIN FEUERWEHREINSATZ
ID:KAMIN-BK
文本:品牌KAMIN
默認:諾伊多夫21
earea:諾伊多夫
emun:帕布諾伊基興
efeanme:諾伊多夫
estnum:21
ecompl:
LNG:14.829464095886
緯度:48。349240803097
ID:7
文本:cntfeuerwehren佩爾格
:2名
消防員:FF帕布諾伊基興
消防員:FF裏德爾村
NUM1:E161000213
地點:RI - 裏德因克瑞斯
開始時間:週一,10月3日2016十七時57分39秒+0200
及時:
狀態:開放
警報級別:1
使用: TEA
ID:TK
文本:技術上小火使用
ID:OELSPUR-TK
文本:OIL SPUR,出油
默認:裏德因克瑞斯
EAREA:裏德因克瑞斯Emun
:裏德因克瑞斯
efeanme:
estnum:
ecompl:SchärdingerTOR
LNG:13.488453771887
緯度:48.21240717 4905
ID:8
文本:cntfeuerwehren裏德
:1名
消防隊員:FF裏德因克瑞斯