我将数据从mysql查询传递到数组并将其转换为javascript 这是显示如下
数据:{“0”:[{“问题”:“abc”,“答案”:“abc 123”},{“问题”:“xyz”,“答案”:“xyz 123”}], “消息”: “成功”}
现在我想在一个变量中获取所有问题并在另一个变量中显示相关的FAQ_Answer并显示如
问题:abc 答案:abc 123
问题:xyz 答案:xyz 123
但问题是我不知道如何从数组中获取相关问题及其答案。
我尝试了所有方法,如data [0] [0]等,但它给了我undefined或[object,object]类型的输出。
答案 0 :(得分:3)
你需要阅读一些关于javascript语法的文档:p。
在这种情况下,我们假设你有=:
var data = {"0":[{"Question":"abc","Answer":"abc 123"}]};
它是这样读的:data是一个对象,包含一个名为" 0"的单个键,它是对数组的引用。该数组包含一个条目。该条目是一个包含2个键的对象,"问题"和"答案",每个都是一个字符串。
所以,那说:
data // is the object
data[0] // references the array of questions, note that it is in fact data["0"]
data[0][0] // references the first entry in the array of questions
data[0][0].Question // contains the first question's text
data[0][0].Answer // contains the first question's answer
通常情况下,您可以创建一个代表您处理内容的变量,以便向阅读代码的用户明确说明,例如:
var first_question = data[0][0];
并使用之后的属性。
答案 1 :(得分:0)
以下是如何做到的:
var data = {Data:{"0":[{"Question":"abc","Answer":"abc 123"},{"Question":"xyz","Answer":"xyz 123 "}], "message":"Success"}};
var qaList = data.Data['0'];
// build HTML in div from questions and answers
var div = document.getElementById('qa');
for (var i = 0; i < qaList.length; ++i) {
var qa = qaList[i];
div.innerHTML += 'Question : '+qa.Question+' Answer : '+qa.Answer+'<br/>';
} // end for