java - 将 InputStream 转换为 JSON

标签 java json-rpc

我正在使用 json-rpc-1.0.jar。下面是我的代码。我需要将 InputStream 对象转换为 JSON,因为响应是 JSON。

我确实验证了从 Zappos API 获得的 json 响应。有效。

PrintWriter out = resp.getWriter();
String jsonString = null;
URL url = new URL("http://api.zappos.com/Search?term=boots&key=my_key");
InputStream inputStream = url.openConnection().getInputStream();
resp.setContentType("application/json");

JSONSerializer jsonSerializer = new JSONSerializer();
try {
   jsonString = jsonSerializer.toJSON(inputStream);
} catch (MarshallException e) {
 e.printStackTrace();
    }
out.print(jsonString);

我得到下面提到的异常:

com.metaparadigm.jsonrpc.MarshallException: can't marshall sun.net.www.protocol.http.HttpURLConnection$HttpInputStream
    at com.metaparadigm.jsonrpc.JSONSerializer.marshall(JSONSerializer.java:251)
    at com.metaparadigm.jsonrpc.JSONSerializer.toJSON(JSONSerializer.java:259)
    at Communicator.doGet(Communicator.java:33)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at filters.ExampleFilter.doFilter(ExampleFilter.java:149)

最佳答案

利用 Jackson JSON 解析器。

引用 - Jackson Home

你唯一需要做的 -

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> jsonMap = mapper.readValue(inputStream, Map.class);

现在 jsonMap 将包含 JSON。

关于java - 将 InputStream 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18794427/

相关文章:

json - Json RPC v2 over HTTP 的正确内容类型 header 是什么?

java - 当消费者从rabbitmq中的 channel 获取消息时,预取消息驻留在哪里

java - 使用 Facebook .jar 从 Eclipse 导入错误?

java - 从 tomcat6 到 jboss5 的远程 ejb 调用导致 : Could not dereference object exception

java - sqlException : column not found JPA @query

http - 通过 HTTP 进行回调的异步 RPC

Java:writeObject 与 writeExternal 的效率

r - Shiny 的服务器。打印 JSON 作为结果输出

json-rpc - 如何在 Substrate 上构建 pow 共识中包含 json-rpc?

json-rpc - 在实现 JSONRPC 2.0 服务器时,是否需要同时支持命名参数和位置参数?