[英]Can't access an element in JSON array
沒有人真正回答過這個問題,但是到底怎么可以使用JavaScript從php / mysql直接使用JavaScript從JSON返回數據呢?
這是我使用JSON.parse
並將其保存到Javascript變量obj
的返回數據
[{"stuid":"10-00002","stuname":"Meratis, Velino","stucourse":"Arts","stustat":"0","stulyear":"4","stulog":"feb 16 2017"},{"stuid":"10-00003","stuname":"Melker, Alana","stucourse":"Wilderness","stustat":"1","stulyear":"5","stulog":"feb 16 2017"}]
我已經嘗試過簡單的obj.stuname
但是它只返回一個undefined
我已經嘗試了很多次以了解它,但是我似乎根本無法使用此數組。 有人可以幫忙嗎?
我也嘗試過reObj = {"stu":obj};
樣式,但僅返回[object Object]
所以請有人詳細說明嗎?
obj
是一個json array
,因此您必須使用其index
訪問元素。
另外,您必須使用JSON.parse
才能將json
文本string
轉換為Javascript對象。
嘗試這個:
var stuname=obj[0].stuname;
var obj='[{"stuid":"10-00002","stuname":"Meratis, Velino","stucourse":"Arts","stustat":"0","stulyear":"4","stulog":"feb 16 2017"},{"stuid":"10-00003","stuname":"Melker, Alana","stucourse":"Wilderness","stustat":"1","stulyear":"5","stulog":"feb 16 2017"}]'; var objParsed=JSON.parse(obj); console.log(objParsed[0].stuname);
如果要迭代array
,請使用forEach
方法。
var obj='[{"stuid":"10-00002","stuname":"Meratis, Velino","stucourse":"Arts","stustat":"0","stulyear":"4","stulog":"feb 16 2017"},{"stuid":"10-00003","stuname":"Melker, Alana","stucourse":"Wilderness","stustat":"1","stulyear":"5","stulog":"feb 16 2017"}]'; var objParsed=JSON.parse(obj); objParsed.forEach(function(item){ console.log(item.stuname); });
如果您是通過ajax從php獲得此響應的。 確保使用dataType
作為json
來獲取json類型響應而不是字符串。
否則,您需要像這樣解析json數據
obj = JSON.parse(jsonStrFromPhp);
然后,您可以以obj.stuname或obj [0] .stuname的形式獲取數據,具體取決於您是如何從php返回的,像這樣的{"stu":obj}
或這樣的[{"stu":obj}]
當我偏頭痛的時候...為什么我的代碼是錯誤的,事實證明,即使obj = JSON.parse(jsonStrFromPhp);
僅返回一個[object Object],[object Object]
javascript [object Object],[object Object]
實際上可以理解shins並返回了我的變量...多么令人困惑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.