JSON:
{
"entities": {},
"intents": [],
"speech": {
"confidence": 0.4471,
"tokens": [
{
"confidence": 0.4471,
"end": 1560,
"start": 560,
"token": "Кот"
}
]
},
"text": "Кот",
"traits": {}
}
{
"entities": {},
"intents": [],
"is_final": true,
"speech": {
"confidence": 0.4471,
"tokens": [
{
"confidence": 0.4471,
"end": 1560,
"start": 560,
"token": "Кот"
}
]
},
"text": "Cat",
"traits": {}
}
如何获取最后一个对象?这是一个例子,我应该有很多这个对象,我想有“猫”从最后一个对象,我怎么能做到这一点?没有图书馆。
3条答案
按热度按时间wydwbb8l1#
看起来你的“JSON”是通过附加单个对象的JSON表示来创建的,而不是将这些对象推送到一个数组中,然后返回该对象的JSON表示。您应该修复该软件以返回有效的JSON,但在此期间,您可以通过在字符串周围添加
[
和]
,并将}{
替换为},{
,将字符串转换为对象数组的JSON表示来解决这个问题。然后你可以成功解析它,并返回数组中最后一个对象的text
属性:9ceoxa922#
首先,JSON没有遵循正确的语义,比如两个对象如何在没有任何逗号分隔的情况下存在于一个JSON中?假设你得到了一个包含这些对象的数组,你可以简单地使用“find()”函数来得到满足条件的对象。让我们假设数组的名称是“arr”,我将结果存储在“res”中:
要获取任何数组中的最后一个对象,可以用途:
1.长度属性,如
res = arr[arr.length - 1];
1.像
res = arr.slice(-1);
这样切片方法res = arr.pop();
点击以下链接了解更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
ttp71kqs3#
假设每个对象之间的分隔符可能有也可能没有空格和/或换行符,您可以手动解析JSON,而不是按照这里的JSON specification(但当深度为
0
- top-level时忽略结尾逗号):