Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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_Json - Fatal编程技术网

Javascript 使用嵌套字段迭代Json对象

Javascript 使用嵌套字段迭代Json对象,javascript,json,Javascript,Json,我在迭代json对象时遇到了一些困难。有一些嵌套字段,这让我感到困惑 这是我的JSON数据 { "_embedded": { "request_fields": [{ "reference": null, "name": "Qual será o serviço?", "label": "Qual será o serviço?", "placeholder": "Qual será o serviço?",

我在迭代json对象时遇到了一些困难。有一些嵌套字段,这让我感到困惑

这是我的JSON数据

{
"_embedded": {
    "request_fields": [{
        "reference": null,
        "name": "Qual será o serviço?",
        "label": "Qual será o serviço?",
        "placeholder": "Qual será o serviço?",
        "values": {
            "Coloração": "Coloração",
            "Corte": "Corte",
            "Escova ": "Escova ",
            "Escova progressiva/definitiva": "Escova progressiva/definitiva",
            "Luzes": "Luzes"
        }
    }, {
        "reference": null,
        "name": "Para quem será o serviço?",
        "label": "Para quem será o serviço?",
        "placeholder": "Para quem será o serviço?",
        "values": {
            "Criança": "Criança",
            "Homem": "Homem",
            "Mulher": "Mulher"
        }
    }]
}
}
这就是我到目前为止所尝试的--更新

  for (key in response) {
                    for (i in response[key].request_fields) {
                        // console.log(response[key].request_fields[i].values);
                        document.getElementById("form").innerHTML +=    "<div class='section'>" + 
                                                                            "<label>" + response[key].request_fields[i].label + "</label>" +
                                                                            "<label>" for (e in response[key].request_fields[i].values) { response[key].request_fields[i].values[e] } "</label>" +
                                                                            "<label>" + response[key].request_fields[i].values{0} + "</label>" +
                                                                        "</div>" ;
                    }
                }  
for(输入响应){
对于(响应[key]中的i)。请求\u字段){
//console.log(响应[key]。请求\字段[i]。值);
document.getElementById(“表单”).innerHTML+=“”+
“”+响应[key]。请求字段[i]。标签+“”+
“”对于响应[key]中的(e)。请求[u]字段[i]。值){response[key]。请求[u]字段[i]。值[e]}“”+
“”+响应[key]。请求_字段[i]。值{0}+“”+
"" ;
}
}  
现在我越来越紧张了

未捕获的SyntaxError:的意外标记


在我的第三个“for”中,要打印“values”

这是因为索引
i
不在值中,您需要另一个迭代器,或者一个特定的值,或者只是将其json,或者将其连接到字符串

for (key in response) {
    for (i in response[key].request_fields) {
        console.log(response[key].request_fields[i].values);
        var values=(()=>{
            var out="";
            for(var ii in response[key].request_fields[i].values){
                out+=ii+": "+response[key].request_fields[i].values[ii]+"\n";
            }
            return out;
        })();
        document.getElementById("form").innerHTML += "<div class='section'>" + "<label>" + response[key].request_fields[i].label + "</label>" + "<label>" + 
        values + "</label>" + "</div>";
    }
}
for(输入响应){
对于(响应[key]中的i)。请求\u字段){
console.log(响应[key]。请求\字段[i]。值);
变量值=(()=>{
var out=“”;
对于(var ii在响应[key]中)。请求_字段[i]。值){
out+=ii+“:“+响应[键]。请求\字段[i]。值[ii]+“\n”;
}
返回;
})();
document.getElementById(“form”).innerHTML++=“”+++响应[key]。请求\字段[i]。标签+++
值+++;
}
}

您的意思是在
console.log()
语句中,还是在您使用
.values[i]
的HTML中得到“未定义”?我希望后者是未定义的,因为
I
不是
values
object.yes中的属性名之一。我是在console.log上看到的,首先
console.log()
对我来说很好:-只有我刚才提到的
值[i]
不起作用。我知道。我的问题实际上是我需要解决的“价值观”或“仅仅是json”——这意味着什么?嗯。如何“只使用json”?
json.stringify(响应[key].request_字段[i].values)
你的匿名函数不需要一个
return
语句吗?老实说,我不明白你在这里做什么,但不知怎的它起了作用。你能确切地解释一下“var values=(()=>{”是做什么的吗?