2013-04-26 90 views
1

嘿,我發送了一個JSON編碼數組到我的JS頁面有兩個鏈接。Javascript和PHP數組值

{"download":"http://JapSeyz.dk/Test/Medarbejder/fileDownload.php?filename=test___1847598251_26-04-2013.png","view":"http://JapSeyz.dk/Test/Medarbejder/uploads/test___1847598251_26-04-2013.png"} 

即輸出

它在陣列稱爲狀態,如果我嘗試狀態[點擊下載]它是不確定的,和狀態[0,1,2]等,只是給了我單個字符....如何從一次下載中選擇整個鏈接?

謝謝:)

繼承人所有的代碼..對不起(丹麥的一些文字,但我只是想顯示力量DL鏈接和視圖鏈接)

var links = JSON.parse(status); 
    var download = status.download; 
    var view = status.view; 
    var status = "Brug dette link hvis folk kun skal se dette <br /><div class='link-copy'>http://JapSeyz.dk/Test/Medarbejder/"+view+"</div><br /><br />Hvis du vil have folk til at downloade den skal du bruge dette link <br /> <div class='link-copy'>"+download; 
    //set the status message to that returned by the server 
    document.getElementById('status').innerHTML=status; 

而且PHP:

$test = json_encode(array("download" => $link, "view" => "http://JapSeyz.dk/Test/Medarbejder/".$move)); 

echo returnStatus($ test);

+0

你的代碼在哪裏? – Prisoner 2013-04-26 10:58:45

+2

使用'obj = JSON.parse(status);'解析它。 – Rikesh 2013-04-26 10:58:49

+0

檢查[json_decode](http://php.net/manual/en/function.json-decode.php)和[json_encode](http://php.net/manual/en/function.json-encode.php )PHP函數將json轉換爲php數組/對象,並將php轉換爲json .. – Svetoslav 2013-04-26 10:58:57

回答

1

解析json並將其顯示爲此編輯。

var obj = jQuery.parseJSON('{"download":"http://JapSeyz.dk/Test/Medarbejder/fileDownload.php?filename=test___1847598251_26-04-2013.png","view":"http://JapSeyz.dk/Test/Medarbejder/uploads/test___1847598251_26-04-2013.png"}'); 
alert(obj.download); 

的Javascript

var obj = JSON.parse('{"download":"http://JapSeyz.dk/Test/Medarbejder/fileDownload.php?filename=test___1847598251_26-04-2013.png","view":"http://JapSeyz.dk/Test/Medarbejder/uploads/test___1847598251_26-04-2013.png"}'); 
alert(obj .download); 
+0

如果用戶不使用jQuery,該怎麼辦? – 2013-04-26 11:00:31

+0

哦好吧,我只記得有人告訴我,我不需要在JS中解析它,因爲它本來就是在那裏理解的。 – 2013-04-26 11:00:52

+0

@Jesper:該人可能會將對象文字與JSON混淆。 – 2013-04-26 11:02:29

0
var jsonobj = JSON.parse('{"download":"http://JapSeyz.dk/Test/Medarbejder/fileDownload.php?filename=test___1847598251_26-04-2013.png","view":"http://JapSeyz.dk/Test/Medarbejder/uploads/test___1847598251_26-04-2013.png"}'); 
alert(jsonobj .download); 
0
status1 = [ 
      {"download":"http://JapSeyz.dk/Test/Medarbejder/fileDownload.php?filename=test___1847598251_26-04-2013.png","view":"http://JapSeyz.dk/Test/Medarbejder/uploads/test___1847598251_26-04-2013.png"} 
     ]; 

alert(status1[0].download); 

狀態爲對象的數組,所以你應該使用status[index].yourPropName

SEE FIDDLE

+0

爲什麼你使用不同的數據結構比OP有? – 2013-04-26 11:01:28

+0

@FelixKling這不是一個不同的..他明確表示狀態是一個數組 – 2013-04-26 11:03:04

+0

不,他沒有。他只是說如果他用數字索引訪問'status',他會得到單個字符,這表明'status'是一個字符串。 – 2013-04-26 11:22:22

1
var jsonstring = $.parseJSON('{"download":"http://JapSeyz.dk/Test/Medarbejder/fileDownload.php?filename=test___1847598251_26-04-2013.png","view":"http://JapSeyz.dk/Test/Medarbejder/uploads/test___1847598251_26-04-2013.png"}'); 

for (var k in jsonstring) { 
    alert("key is "+k); 
    alert("value at key "+k+ " is "+ jsonstring[k]); 
} 
+0

這也很好,謝謝:) – 2013-04-26 11:31:55