创建和填充json对象

Creating and populating a json object

本文关键字:对象 json 填充 创建      更新时间:2023-09-26

我需要构造和填充一个json对象的值来自一个方法。一点背景:我正在搜索pdf文档与指定的关键字,如果我找到任何匹配,每个匹配我需要保存:-找到匹配的整个句子-搜索词(在别处定义:搜索词总是相同的,所以这里是多余的,但我可能需要它在json对象,这就是为什么我包括它)-结果(在整个句子中找到搜索词的索引,它应该是一个整数)这里有一些代码。我在一个循环中调用这个函数(循环遍历页面,然后有第二个循环遍历文本):

for(var i = 0; i < items.length; i++){
    lineWithResult = searchPdf(block.str);
    if(lineWithResult != null){
        console.log(lineWithResult + " wordCounter is " + wordCounter);
    }
}

和函数本身:

function searchPdf(toSearch){
    var result = toSearch.toLowerCase().indexOf(searchTerm);
    if(result >=0){//if match is found
        wordCounter++;
        //console.log("toSearch " + toSearch + " result is " + result + " wordCounter " + wordCounter);
        return toSearch;
    }
    else{//if match not found
        return null;
    }
}

所以我需要构造一个json对象,在每次迭代中接受上面讨论的参数:

那么,什么是最好的方法-我对json有点生疏?我想我会从创建一个空对象开始,像这样(如果这是一个有效的定义):
var searchResult = {"Line" : "", "SearchTerm" : "", "Result" : ""}

如果上面是正确的,我在哪里定义对象以及如何用相关的值填充它?请记住,将有很多行,一个搜索词和很多结果,因为我将使用的文档(pdf)相当大,可以返回很多匹配由于

这样说:

 var searchResult = {"Line" : "", "SearchTerm" : "", "Result" : ""}

您已经定义了对象。JavaScript(在这一点上)是原型的,而不是基于"类"的语言。JavaScript中的JSON只不过是一个普通的JavaScript对象。如果您想创建这种类型的多个对象,您有多种选择。我建议你阅读JS对象创建模式。

这是一个很好的链接。

话虽如此,你可以这样做:

 // ... maybe inside a function
 return {
     line: myLineValue,
     searchTerm: mySearchtermValue,
     result: myResult
 }

没有必要初始化一些空值的东西;你只需用花括号创建对象。

希望这对你有意义;如果没有,请在评论中告诉我,我会努力改进我的答案。: -)