2017-02-17 19 views
0

Никто не ответил на этот вопрос, но как можно использовать данные JSON для прямого извлечения данных из php/mysql direct с помощью 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]

поэтому, пожалуйста, кто-то подробно останавливаться на этом?

+0

как вы получаете от php, поделитесь своим кодом запроса ajax также? – C2486

ответ

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); 
 
});

+0

nope по-прежнему говорит undefined:/ – Arkonsol

+0

Кроме того, я использую JSON-код из php и отправляю его через Json на Javascript, но он просто говорит undefined, когда полученные данные были идеальными – Arkonsol

+0

спасибо, что это помогло много. но как вы используете его в цикле for? – Arkonsol

1
  1. Если вы получаете этот ответ от PHP с помощью AJAX. Обязательно используйте dataType как json, чтобы получить ответ типа json, а не строку.

  2. В противном случае вам нужно проанализировать данные JSON, как этот

    obj = JSON.parse(jsonStrFromPhp); 
    

Затем вы можете получить данные, как obj.stuname или OBJ [0] .stuname зависит, как вы вернулись из PHP как этот {"stu":obj} или как это [{"stu":obj}]

+0

У меня есть второй. '[{}]' из моего php. я не могу просто проанализировать его, если я только разобрал его, он просто возвращает объект [object Object], [object Object] ', поэтому мне пришлось его выровнять, а затем проанализировать его, чтобы получить ответ. но оказалось, что я решил свои проблемы – Arkonsol

0

в то время как я был с мигренью ... почему мой код был неправ, оказалось, что даже несмотря на то obj = JSON.parse(jsonStrFromPhp); вернулся только [object Object],[object Object] Javascript могут на самом деле понять, что голени и RETU моя переменная ... как запутанная.