我正在使用Solr 4在java web应用程序中进行搜索.Solr生成一个JSON响应,我必须从中提取搜索结果并将其转换为html,以便用户可以阅读。 我知道一个解决方案,但看起来很愚蠢,我认为必须有聪明的想法。
{
"responseHeader": {
"status": 0,
"QTime": 0,
"params": {
"fl": "id,title",
"indent": "true",
"q": "solr",
"wt": "json"
}
},
"response": {
"numFound": 3,
"start": 0,
"docs": [
{
"id": "1",
"title": "Solr cookbook"
},
{
"id": "2",
"title": "Solr results"
},
{
"id": "3",
"title": "Solr perfect search"
}
]
}
}
之后我将此文本评为:
var obj = eval ("(" + txt + ")");
要生成html页面,我可以使用
<script>
document.getElementById("id").innerHTML = obj.response.docs[1].id
document.getElementById("title").innerHTML = obj.response.docs[1].title
</script>
or
document.write(obj.response.docs[1].id);
但是限制是每次solr都会给出不同对象结构的响应,即一个对象可能有年龄段但其他对象不能拥有,因为它取决于查询。
我想使用一个sigle JSP页面来显示搜索结果(比如Google) 对于所有搜索查询
是否可以编写单个代码段,该代码段适用于具有不同模式的任何可能的搜索结果。
Javascript在遇到任何可能出现错误的错误后停止工作。这也是问题。如果我使用for循环来遍历对象层次结构,则它是高度错误的。
是否可以使用单个视图页面谢谢。