gpt4 book ai didi

javascript - 解析 JSON 对象数组 - 空值阻止更新插入

转载 作者:行者123 更新时间:2023-12-03 08:57:06 26 4
gpt4 key购买 nike

我正在解析一个对象数组,每个对象大约有 12 个字段。我正在用两个嵌套 for(var i = 0; i < array.length; i++) 来做到这一点函数,并遇到 null填写几个回复。

我期待获得一个嵌入对象,... "caption": {"id":"some id", "text":"some text"} ,但我得到的是 null在某些情况下。我的架构不要求字段具有值,但文档被踢出。

我该如何解决这个问题?人们期望 null 只是插入一个空白值,但事实并非如此。我正在 Meteor.js 框架内工作,但下面我需要帮助的代码片段只是普通的旧 JavaScript 和 mongodb upsert。错误出现在 title.text 行上。

Meteor.methods({
'getMethod': function (var1, var2) {
check (var1, Number);
this.unblock();
var url = "https://www.url.com/"+var1+"/stuff?"+token+"&param="+var2;
var result = HTTP.call("GET", url);
if(result.statusCode===200) {
var aArray = JSON.parse(result.content).data;
for(var i = 0; i < aArray.length; i++){
var id = aArray[i].id;
var aItem = {
_id: aArray[i].id,
userId: aArray[i].user.id,
username: aArray[i].user.username,
created_time: parseInt(aArray[i].created_time),
type: aArray[i].type,
caption: aArray[i].caption.text, // THIS LINE IS THROWING THE ERROR !!
}
Collection.upsert(id, {$set: aItem}, {validationContext: 'upsertForm'}, function(error, result) {
if (error){
console.log("Error:", error);
return aArray;
}
});
}
} else {
console.log("Error: ", result.statusCode);
var errorJson = JSON.parse(result.content);
throw new Meteor.Error(result.statusCode, errorJson.error);
}
},
});

最佳答案

使用三元组检查标题上是否有文本属性:

caption: (aArray[i].caption.text) ? aArray[i].caption.text : ''

编辑:如果标题属性有问题,请使用以下内容:

caption: (aArray[i].caption) ? aArray[i].caption.text : ''

h/t RobG

关于javascript - 解析 JSON 对象数组 - 空值阻止更新插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32448277/

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