创建和填充json对象

时间:2016-11-17 12:26:50

标签: javascript json pdfjs

我需要使用来自方法的值构造和填充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)非常大并且可以返回大量匹配 感谢

1 个答案:

答案 0 :(得分:0)

说出类似的话:

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

您已经定义了该对象。 JavaScript(此时)是典型的,不是&#34;类&#34;基于语言。 JavaScript中的JSON不仅仅是一个简单的JavaScript对象。如果要创建多种此类对象,可以使用各种选项。我建议你阅读有关JS Object创建模式的内容。

这是a good link

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

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

无需使用空值初始化;你只需用大括号创建对象。

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