没有人真正回答这个问题,但是如何使用JavaScript从php / mysql直接使用这个JSON返回数据?
以下是我使用sDisplay = do_query_ieee_block(":DISPlay:DATA? PNG, COLor")
并将其保存到Javascript变量JSON.parse
后的返回数据
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
样式,但它只返回[object Object]
所以请有人详细说明这个吗?
答案 0 :(得分:4)
obj
是json array
,因此您必须使用index
访问元素。
此外,您必须使用JSON.parse
才能将string
json
文本转换为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);
});

答案 1 :(得分:1)
如果您通过ajax从php获得此响应。
请务必使用dataType
作为json
来获取json类型的响应而不是字符串。
否则你需要像这样解析json数据
obj = JSON.parse(jsonStrFromPhp);
然后你可以像obj.stuname或obj [0]一样获取数据.stuname取决于你是如何从这个{"stu":obj}
或像这样的[{"stu":obj}]
答案 2 :(得分:0)
虽然我有偏头痛......为什么我的代码出错了但事实证明即使obj = JSON.parse(jsonStrFromPhp);
仅返回[object Object],[object Object]
javascript,实际上可以理解shins并返回我的变量..多么令人困惑。