如何在每次JSON不同的情况下将Solr JSON响应转换为HTML
How to translate Solr JSON response into HTML while JSON is different every time
我使用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给出的响应都是不同的对象结构,即一个对象可能有年龄字段,但其他对象不能有,因为它取决于查询。
我想使用一个JSP页面来显示搜索结果(如Google)对于所有搜索查询
是否可以编写一个单一的代码段,它适用于任何可能的搜索结果与不同的模式。
Javascript在遇到任何错误后停止工作,这在我的情况下是可能的。这也是个问题。如果我使用for循环遍历对象层次结构,它很容易出错。
是否可以使用单视图页面谢谢。
您可能需要考虑使用ajax-solr - 一个JavaScript框架,用于创建Solr
我建议使用Solr中支持的Velocity模板,而不是从JSON中提取数据并通过JS呈现HTML。
这里文档
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何为json对象中的段发送array[]
- Html/Javascript-如何从窗口/文档(Solr)中获取JSON/XML内容
- 使用JS从Solr获取JSON facet_queries
- 如何在每次JSON不同的情况下将Solr JSON响应转换为HTML
- 通过javascript获取json格式的Solr响应