在 Javascript 中将 JSON 数据提取到变量
我在处理 JSON 数组时遇到问题,我有一个名称,它为我提供了格式化为以下代码的代码。
nanorep.floatingWidget.$refs.core.conversationSession.entries
(11) [a, a, a, a, a, a, a, a, a, a, a]
0:a {id: 2, articleId: "1156688772", type: 2, html: "<div id="DIV_1" style="box-sizing:border-box;color…ionUI.enableUserInput() }</script></div></div>", text: "Fyll ut feltene under for å starte en chat: Alle f…tionSession.conversationUI.enableUserInput() }"}
1:a {id: 3, type: 5, date: 1529495789458, html: "", text: ""}
2:a {id: 4, type: 1, html: "jeg har fått ny adresse", text: "jeg har fått ny adresse"}
3:a {id: 5, articleId: "1155556302", type: 2, html: "<p style="margin-bottom: 0.11in;"><span style="lin…ilte-sporsmal/min-side/</a></u></font></span></p>", text: "Du kan endre personlige opplysninger på Min Side. …rivat/kundeservice/ofte-stilte-sporsmal/min-side/"}
4:a {id: 6, type: 5, date: 1529562815900, html: "", text: ""}
5:a {id: 7, type: 1, html: "bestille brikke", text: "bestille brikke"}
6:a {id: 8, articleId: "1137471592", type: 2, html: "<p>Du kan bestille brikkefeste her:<br /><br /><a …html" target="_blank">Bestill brikkefeste</a></p>", text: "Du kan bestille brikkefeste her:Bestill brikkefeste"}
7:a {id: 9, type: 1, html: "hvordan betaler", text: "hvordan betaler"}
8:a {id: 10, articleId: "1155921422", type: 2, html: "<p>Hvis du betaler fra en utenlandsk konto, m&arin…erer hvilke fakturanummer betalingen gjelder.</p>", text: "Hvis du betaler fra en utenlandsk konto, må du bru…ifiserer hvilke fakturanummer betalingen gjelder."}
9:a {id: 11, type: 1, html: "hvor kan jeg bruke brikken fra fjellinjen", text: "hvor kan jeg bruke brikken fra fjellinjen"}
10:a {id: 12, articleId: "1140979222", type: 2, html: "Du kan bruke bombrikken i alle autopassanlegg i hele Skandinavia", text: "Du kan bruke bombrikken i alle autopassanlegg i hele Skandinavia"}
length
:11
__proto__
:Array(0)
我想知道是否有人知道如何提取 nanorep.floatingWidget.$refs.core.conversationSession.entries[2].text 直到 nanorep.floatingWidget.$refs.core.conversationSession.entries[12].text。 还有一个问题,因为数组的长度并不总是相同的。有时会写入 10 个数据块,有时会写入 2 个数据块。我想创建一个变量,它将包含来自 nanorep.floatingWidget.$refs.core.conversationSession.entries[all the length].text 的所有数据,以纯文本形式,它们之间有空格。
我尝试过这样的事情。但由于我在 Javascript 和 JSON 方面处于中级水平。无论如何,这是我的代码,任何帮助或更正都将不胜感激。
var i=2;
var history = nanorep.floatingWidget.$refs.core.conversationSession.entries.length;
while (i<history) {
printObject (nanorep.floatingWidget.$refs.core.conversationSession.entries[i].text);
}
好的,我设法以某种方式解决了这个问题,谢谢 Nina Scholz ,你这位美丽的女士提供了解决方案。
我还有另一个问题,将点转换为新行(换行符)。 我使用以下命令转换字符串:
chatHistory2 = historyText.toString();
结果也看起来像这样:
jeg vil si opp avtalen min med fjellinjen hvordan gjør det,Husk å ta brikken ut av bilen. Videre må du si opp avtalen din på Min side. Brikken kan du bruke om igjen, eller kaste i miljøavfall hvis du ikke ønsker å gjenbruke den.,hvordan får jeg tilbake depositumet på bombrikken,Du får tilbake depositumet når avtalen din avsluttes. Du kan avslutte avtalen på Min side. Depositumet på 200kr blir da enten trukket fra eventuelt utestående på avtalen, eller så blir tilbakebetalt til kontoen din. Når avtalen er avsluttet kan brikken kastes som elektrisk avfall.
好的。这是我的问题,我尝试使用:
chatHistory = chatHistory2.replace(/./gi, /<br>/); and
chatHistory = chatHistory2.replace(/./gi, /\n/);
但没有成功。在这种情况下我做错了什么?如何使每个点都变成新行?
您可以对所需范围进行切片并迭代此数组。
-
Array#slice
用于获取数组的各个部分, -
Array#forEach
用于迭代数组, -
解构赋值 将变量作为属性的值。
var array = nanorep.floatingWidget.$refs.core.conversationSession.entries;
array
.slice(2, 12)
.forEach(({ text }) => {
console.log(text);
});
要分配所需的属性,您可以映射
text
。
var array = nanorep.floatingWidget.$refs.core.conversationSession.entries,
chatHistory = array.slice(2, 12).map(({ text }) => text);