Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从作为对象的JSON导入和使用数据?_Javascript_Arrays_Json_Object - Fatal编程技术网

Javascript 如何从作为对象的JSON导入和使用数据?

Javascript 如何从作为对象的JSON导入和使用数据?,javascript,arrays,json,object,Javascript,Arrays,Json,Object,以前我从JSON导入数据时,wihch是一个数组,这不是问题。现在我有一个问题,因为我的变量是一个对象。我想把所有的问题都放到数组中,然后让它们在html文档中可见。 JSON文件的链接在代码中 和JS代码 constmyjson='1〕http://tnij.xyz/bj5'; // 链接到JSON文件! 常量问题=[]; 获取(myjson) .then(blob=>blob.json('questions')) .然后(数据=>问题.推送(数据)) 控制台日志(问题)(注意:由于跨源问题

以前我从JSON导入数据时,wihch是一个数组,这不是问题。现在我有一个问题,因为我的变量是一个对象。我想把所有的问题都放到数组中,然后让它们在html文档中可见。 JSON文件的链接在代码中

和JS代码

constmyjson='1〕http://tnij.xyz/bj5'; // 链接到JSON文件!
常量问题=[];
获取(myjson)
.then(blob=>blob.json('questions'))
.然后(数据=>问题.推送(数据))
控制台日志(问题)(注意:由于跨源问题,我无法运行该代码段)

我认为您需要做的是
.concat
输入值或使用
.apply
。就个人而言,我会选择
.concat

constmyjson='1〕http://tnij.xyz/bj5'; // 链接到JSON文件!
常量问题=[];
获取(myjson)
.then(blob=>blob.json('questions'))
。然后(数据=>{
问题=quest.concat(数据);
控制台信息(问题);

});一些观察结果:

  • As返回属性为
    questions
    的对象,该对象是
    数组
    ,那么为什么还要将其推入数组
  • 您可以使用
    jsonObj直接访问questions数组。questions
    。在这里,
    jsonObj
    是您得到响应的整个JSON对象
  • 您可以在HTML中添加问题和答案,如下所示:
var问题=[
{
“id”:1,
“问题”:“Obwód trójkąta ABC wynosi 20cm.Jakądąugośćma podstawa AB?”,
“答案”:[
{
“id”:1,
“答案”:“8.4厘米”,
“正确”:正确
},
{
“id”:2,
“答案”:“5.8厘米”,
“正确”:错误
},
{
“id”:1,
“答案”:“0.6厘米”,
“正确”:错误
},
{
“id”:1,
“答案”:“1.2厘米”,
“正确”:错误
}
]
}];
for(问题中的var i){
document.getElementById('questions')。innerHTML=questions[i]。question;
var answers=document.getElementById(“answers”);
for(问题[i]中的var j.答案){
var label=document.createElement(“标签”);
var radio=document.createElement(“输入”);
radio.type=“radio”;
radio.name=“choices”;
radio.value=问题[i]。答案[j]。正确;
标签.儿童(收音机);
label.appendChild(document.createTextNode(问题[i].answers[j].answer));
答案:追加儿童(标签);
}
}

。然后(data=>data.object.property)
将显示
属性的值。是!它正在工作。谢谢:)。