gpt4 book ai didi

javascript - 如何在 EJS 中检索对象内部的对象

转载 作者:行者123 更新时间:2023-11-27 22:53:18 25 4
gpt4 key购买 nike

我正在尝试检索下面 JSON 的“信息”部分。正如您在我的代码中看到的,我使用

<%= person['person_details']%>

检索 JSON 的该部分。这将返回[对象对象]。我想要做的是检索 JSON 的信息部分中的所有内容,又名:“jim”“bob”“true”和“两个人走进酒吧,其中一个说:ow!”。有些 JSON 没有相同的字段(我在下面添加了另一个示例)。我尝试过做...

<%= person['person_details'][0][1]%>

但这会返回一个错误。如果我删除 [1],它会在我的下拉菜单中返回一个空数量。

<div class="personForm">
<form>
Select Parameters
<select id="personIdList">
<% data1.forEach(function(person) {%>
<option><%= person['person_details']%>
<% }); %></option>
</select>
</form>
</div>


//JSON THAT IM ATTEMPTING TO EXTRACT
"person_details": {
"info": {
"name": "Jim",
"lastName": "Bob",
"isMale": true,
"favJoke": "Two guys walk into a bar, one says: ow!"
}
},
//EXAMPLE 2
"person_details": {
"info": {
"email": "bobsmit@gmail.com",
"lastName": "tim",
"isMale": true,
"momMaidenName": "felicia"
}
},
//EXAMPLE 3 (info changes to information)
"person_details": {
"information": {
"email": "bobsmit@gmail.com",
"lastName": "tim",
"isMale": true,
"momMaidenName": "felicia"
}
},

最佳答案

您需要循环访问每个人各自的 person_details 的键。从那里您将使用键和值访问器。

例如:

<% data1.forEach(function(person) {%>
<option>
<% Object.keys(person.person_details.info).forEach(function(key) { %>
<%= person.person_details.info[key] %>
<% }); %>
</option>
<% }); %>

这是一种动态方法,适用于 info 哈希中的任何键/值集。

如果您的 person_details 信息哈希包含不同的名称,您可以在循环中对其进行猴子修补(尽管我建议您标准化数据并使用第一个示例)。

<% data1.forEach(function(person) {%>
<% var infoKey = infoKey = Object.keys(person.person_details)[0]; %>
<option>
<% Object.keys(person.person_details[infoKey]).forEach(function(key) { %>
<%= person.person_details[infoKey][key] %>
<% }); %>
</option>
<% }); %>

在此示例中,您动态查找 info 键的名称并将其设置为 infoKey 变量。从那里您可以将其用作访问器。

关于javascript - 如何在 EJS 中检索对象内部的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37861024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com