我怎样才能将这个json-data-string作为一个变量并将其解析为一些有用的东西?
字符串的网址: http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=?
我对js和json很新,所以关于如何进入这个主题的一些建议会很棒。
谢谢你, Stoani
答案 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);
}
答案 1 :(得分: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:true
版本:1.2
标题:laufendeEinsätze
pubDate:Mon,03 Oct 2016 19:01:02 +0200
cnt_feuerwehren:3
cnt_einsaetze:2
num1:E161000221
einsatzort:PE - PABNEUKIRCHEN
startzeit:星期一,2016年10月3日18:24:17 +0200
inzeit:
状态:offen
alarmstufe:1
einsatzart:brAND
id:BK
文字:BRAND KLEIN FEUERWEHREINSATZ
id:KAMIN-BK
文字:BRAND KAMIN
默认:NEUDORF 21
earea:NEUDORF
emun:PABNEUKIRCHEN
efeanme:NEUDORF
estnum:21
ecompl:
lng:14.829464095886
纬度:48.349240803097
id:7
文字:Perg
cntfeuerwehren:2
feuerwehr:FF Pabneukirchen
feuerwehr:FF Riedersdorf
num1:E161000213
einsatzort:RI - RIED IM INNKREIS
startzeit:星期一,2016年10月3日17:57:39 +0200
inzeit:
状态:offen
alarmstufe:1
einsatzart:TEE
id:TK
文字:TECHNISCH KLEIN FEUERWEHREINSATZ
id:OELSPUR-TK
文:ÖLSPUR,ÖLAUSTRITT
默认:RIED IM INNKREIS
earea:RIED IM INNKREIS
emun:RIED IM INNKREIS
efeanme:
estnum:
ecompl:SCHÄRDINGERTOR
lng:13.488453771887
纬度:48.212407174905
id:8
文:里德
cntfeuerwehren:1
feuerwehr:FF Ried im Innkreis
答案 2 :(得分:-2)
我认为你可以使用ajax。
if($.mobile.media("screen")){
$('meta[name=viewport]').attr('content','Your stuffs');
}
这是一个完整的示例,您可以在其中找到有关此内容的信息。