Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回json格式的solr响应_Java_Json_Solr_Solrj - Fatal编程技术网

Java 返回json格式的solr响应

Java 返回json格式的solr响应,java,json,solr,solrj,Java,Json,Solr,Solrj,我试图以JSON格式返回solr响应。但是,我无法获得JSON响应。下面是我的solr配置:' <queryResponseWriter name="json" default="true" class="org.apache.solr.request.JSONResponseWriter"> <str name="content-type">application/json</str> </queryResponseWriter> 但是

我试图以JSON格式返回solr响应。但是,我无法获得JSON响应。下面是我的solr配置:'

<queryResponseWriter name="json" default="true" class="org.apache.solr.request.JSONResponseWriter">
    <str name="content-type">application/json</str>
</queryResponseWriter>
但是,输出以以下格式显示

{numFound=1,start=0,docs=[SolrDocument{_uniqueKey=[“abc@gmail.com”,”abc”], calculation_policy=text_value, username=abc, email=abc@gmail.com, display_order=10, last_login=Mon Jan 26 11:27:35 PST 2015, created=Mon Jan 26 11:27:35 PST 2015}]}
但是,我在执行以下行后得到JSON响应:

System.out.println(new Gson().toJson(queryResponse.getResults().get(index)));

有人能告诉我我遗漏了什么步骤吗?

也许这个链接可以澄清:


否则,您可能只需要通过Http请求就可以实现所需的功能,据我所知,该请求确实支持json。

默认情况下,Solrj使用wt=javabin&version=2作为获取结果的默认值,如中所述


但是,要以json显示响应,可以使用GSON或Jackson(对象映射器)。

对于较新版本的Solr(从4.7.0开始),可以直接以json格式返回查询响应。这可以通过
noopresponseparaser
完成

SolrQuery query = new SolrQuery();
QueryRequest req = new QueryRequest(query);

NoOpResponseParser rawJsonResponseParser = new NoOpResponseParser();
rawJsonResponseParser.setWriterType("json");
req.setResponseParser(rawJsonResponseParser);

NamedList<Object> resp = mySolrClient.request(req);
String jsonResponse = (String) resp.get("response");

System.out.println(jsonResponse );
SolrQuery query=new SolrQuery();
QueryRequest req=新的QueryRequest(查询);
NoOpResponseParser rawJsonResponseParser=新的NoOpResponseParser();
setWriterType(“json”);
请求setResponseParser(rawJsonResponseParser);
NamedList resp=mySolrClient.request(请求);
String jsonResponse=(String)resp.get(“response”);
System.out.println(jsonResponse);
SolrQuery query = new SolrQuery();
QueryRequest req = new QueryRequest(query);

NoOpResponseParser rawJsonResponseParser = new NoOpResponseParser();
rawJsonResponseParser.setWriterType("json");
req.setResponseParser(rawJsonResponseParser);

NamedList<Object> resp = mySolrClient.request(req);
String jsonResponse = (String) resp.get("response");

System.out.println(jsonResponse );